首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
教你写React Hooks
前端导师顾北
创建于2025-07-25
订阅专栏
一系列的React Hooks文章
等 4 人订阅
共33篇文章
创建于2025-07-25
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Ref 逃生舱:用 React Hook 解决闭包陈旧、回调身份不稳和强制更新
每个函数组件在每次渲染时都会从头跑一遍,渲染期间创建的每个闭包,捕获的都是那一刻的 props 和 state。这句话就是 React 模型的全部,同时也是一整族 bug 的源头:读到陈旧 count
useEffect 之外:专门处理异步、深比较和 SSR 的 Effect Hook
React 只给了你一个 effect hook:useEffect。其他所有 effect 模式——挂载后只跑一次、跳过首次渲染、比较对象依赖、不带竞态地处理异步、不在服务端报警告地跑 layout
React 里不用 setTimeout 的计时器写法:useTimeout、useInterval、useCountDown 和 useRafFn
计时器是那种每个 React 开发者头十次都会自己手写、其中至少六次写错的东西。模式看起来很简单:在 useEffect 里 setTimeout,返回一个清理函数,提交。然后代码评审发现了过期闭包。
React 与用户偏好:尊重用户已经在 OS 里设过的那些选项
每一个现代操作系统都会在某个时刻问用户:你想要什么样的 UI。深色还是浅色。高对比还是普通。动画开还是关。从左到右还是从右到左。首选语言。用户在系统设置里选一次,从那一刻起,这台机器上每一个好好做出来
React Observer Hooks:7 种监听 DOM 而不写样板代码的方式
DOM 不会主动告诉 React 它变了。React 只掌控数据流的一个方向——state 进来,markup 出去——回程的路上基本是瞎的。如果第三方脚本插入了一个 banner、字体加载完成把布局
React 浏览器标签页 UX:用标题、Favicon 和通知把用户拉回来
普通用户笔记本上随时开着三十个标签页,你的应用只是其中一个。用户打开它,切去看 Slack,十五分钟后回来,已经分不清哪一个标签页是你的。如果你的标签标题还停在"My App",favicon 还是上
React 表单处理:防抖校验、自动保存草稿与受控输入
表单是每个 React 应用里被重写次数最多的部分。第一天看上去再简单不过——丢一个 <input>,把 onChange 接到 useState,发版。到了第三个月,同一个表单上多了异步用户名校验、
React 中的语音与摄像头输入:语音识别、媒体设备与权限
语音和摄像头是把一个静态 Web 应用变得鲜活的两种感官。一个能对它说话的搜索栏。一个实时把你说的话转成文字的笔记应用。一个让你选择用哪个摄像头的会议工具。一个按住按键就能说话的对讲机。这些早已不再罕
在 React 中构建沉浸式 Web 应用:全屏、屏幕常亮与系统通知
Web 已经悄悄地长成了一个真正的应用平台。一个阅读应用应该能让浏览器框架隐去、铺满整个屏幕。一个视频播放器应该在播放时阻止屏幕熄灭。一个计时器应该即使在标签页处于后台时也能提醒用户。一个食谱应用应该
React 文件处理:上传、拖放区与对象 URL
任何稍有规模的应用最终都要处理文件。个人资料编辑页要传头像。笔记应用要附加图片。CSV 导入器要拖放区。相册要在客户端生成缩略图。而每一个这样的功能都要从零开始重做一遍——因为 React 里的文件处
超越 useState:掌握 React 进阶状态模式
useState 是 React 状态管理的主力。处理简单场景绰绰有余——一个控制弹窗的布尔值、一个输入框的字符串、一个计数器的数字。但需求稍微复杂一点——你需要上一次渲染的值、想对搜索词做防抖、要写
React 鼠标追踪与交互效果实战
鼠标是桌面端最核心的输入设备,围绕它构建精致的交互效果 -- 跟随指针的自定义光标、对按压做出响应的按钮、刮刮卡揭示动画、从屏幕任意位置吸取颜色的取色器 -- 是让应用从"能用"走向"好用"的关键。然
不用 WebSocket 库,在 React 中构建实时功能
一提到"实时",开发者就会想到 WebSocket 库。Socket.IO、Pusher、Ably -- 生态中有太多选择了。但很多实时功能根本不需要双向通信。股票行情、通知推送、部署日志、实时比分
我们把自己的 SSR 框架和 Next.js 做了全方位性能对比
我们做了 Pareto,一个基于 Vite 的轻量级流式 React SSR 框架。光说快不够——所以我们构建了一套自动化基准测试套件,在完全相同的硬件上将 Pareto 与 Next.js、Reac
React 滚动效果:告别第三方库
滚动是 Web 上最基础的用户交互。随阅读进度填充的进度条、滑动后缩小并吸顶的导航栏、打开弹窗时锁定背后页面的滚动、点击按钮平滑跳转到指定区域——这些效果几乎出现在每个现代网站上。然而在 React
React 实时同步:跨浏览器标签页的状态管理
你的用户在一个标签页中退出了登录,但在另一个标签页中,他们仍然可以浏览需要认证的内容。他们将主题切换为深色模式,但其他三个标签页依然是浅色。他们在购物车中添加了商品,切换到另一个标签页,却发现购物车数
使用 Hooks 构建无障碍 React 组件
无障碍不是上线前才需要检查的清单,而是从第一行代码开始就需要贯彻的设计约束。谈到 React 中的无障碍,大多数开发者会想到 ARIA 属性、语义化 HTML 和屏幕阅读器支持。这些确实重要。但还有一
React 拖拽:无需第三方库的完整方案
拖拽是用户期望"理所当然能用"的交互之一。无论是对任务看板重新排序、通过拖动文件上传,还是让用户在仪表盘中重新排列小组件,抓取并移动的操作都让人感觉自然流畅。然而大多数 React 教程一上来就引入像
useMediaQuery:React 响应式设计完全指南
CSS 媒体查询能处理大部分响应式布局工作,但有时你需要在 JavaScript 层面让 React 组件感知当前的视口、用户偏好或设备能力。无论是条件渲染移动端导航、检测深色模式,还是尊重减少动效偏
React Hooks 性能优化:如何避免不必要的重新渲染
性能是区分生产级 React 代码和教程级代码的关键因素。大多数 React 应用其实并没有渲染问题——但有问题的那些会让人感觉迟钝、卡顿和令人沮丧。关键在于知道何时优化很重要、React 提供了哪些
下一页