告别 Giscus:基于 Cloudflare Workers + D1 的博客评论系统自建与深度调优实践
引言:为什么放弃 Giscus? 在搭建静态博客时,基于 GitHub Discussions 的 **Giscus** 凭借零服务器运维、开箱即用的特性,成了许多开发者的首选。然而在实际运行中,有两个核心痛点始终难以解决: 1. **读者门槛过高**:每条留言都必须先登录 GitHub 账号。对于...
引言:为什么放弃 Giscus? 在搭建静态博客时,基于 GitHub Discussions 的 **Giscus** 凭借零服务器运维、开箱即用的特性,成了许多开发者的首选。然而在实际运行中,有两个核心痛点始终难以解决: 1. **读者门槛过高**:每条留言都必须先登录 GitHub 账号。对于...
1. Antd 组件支持 属性吗? 大多数 **Antd 组件**(例如 、、 等)底层都会渲染为原生 DOM 元素,它们会把 **未知属性(例如 )透传**到最终的 DOM 上。 所以,你直接写: 测试时: ✅ 这样就能直接获取到。 --- 2. 例外情况(Form.Item / 特殊组件) 有...
在 React 开发中,我们经常需要处理全局状态管理的问题。今天,让我们深入探讨一个有趣的问题:**没有被 export 的模块级变量是否可以被其他文件访问?** 模块作用域变量的访问性 让我们通过一个具体的示例来分析这个问题: 这个变量虽然没有被直接导出,但是它可以通过以...
如何在 React 中管理弹窗状态:三种方法的示例 在 React 中管理弹窗的状态有多种方法。本文将介绍三种常用的方法,并通过简单的示例代码进行演示。这三种方法分别是: 1. **使用存储 State 更新函数的引用** 2. **使用 Context API** 3. **使用 ...
TypeScript 与 React 结合,可以为组件的 Props、State 和事件处理函数等添加强类型约束,这有助于提高代码的可读性和可靠性。以下是一些常见的 TypeScript 与 React 组件结合的示例。 1. **函数式组件(Function Component)** ...
流程图大概如下 下面看一下,每一步如何实现 1.action和reduces的关系 通过action.type来控制如何操作state,reduces里面就是具体的实现 2.reduces和store的关系 把所有的reduces合并到一起,准备放到sto...
废弃了一些Api componentWillReceiveProps componentWillMount componentWillUpdate 增加了一些Api static getDerivedStateFromProps(props, state) getSnapshotB...
背景:后台项目需要切换路由的时候保存用户数据 给它们提了issues,官方不考虑加上 就琢磨着怎么实现 antd pro项目 gitbub找了个钩子 找到这个文件 BasicLayout.js 修改为 ScrollToTop.js 切换的时候定位到顶部
有时候 我们想部分显示iframe里面的内容,比我们的iframe里面只想显示一个网站的股票信息,其它的不想显示,下面这个例子显示一个页面中一块 我们可能希望iframe里面的内容缩放,就像显示缩略图 可以用transform来实现 下面是个例子 参考链接
首先,复杂的配置,编译插件安装,很麻烦,我找了一个脚手架 来写 安装使用 安装完,大概是这样,还是比较简洁的,但是功能很强大,各种编译插件,热加载,打开浏览器都有,src里面可以再细分一下文件夹 写的demo是这样一个功能 index>app>box>liview 使用的ES6的写法,用到...
在清晨好文章中,给li绑定了一个定时器,每隔三秒给他下一个li加一个样式 但是什么时候清除定时器呢 你可能想到,我在调用之前清除 试过之后就知道不对了 正确的做法是在DOM从页面删除的时候销毁