技术栈
react.js
GuWenyue
15 小时前
前端
·
react.js
90%前端写React+TS都踩坑!从组件类型、单向数据流到本地存储完整实战
做企业级React项目不用TS,后期重构直接崩溃。 很多人只会简单写React.FC,但props泛型、合成事件、useEffect副作用、前端持久化存储全是模糊点。
张元清
21 小时前
javascript
·
react.js
React useThrottle Hook:节流值与回调(2026)
scroll 事件的触发频率全看合成器心情——通常一秒 60 次,有时 120 次。mousemove 更夸张。把它们直接灌进 setState,滚轮每动一下你的组件树就以帧率重渲染一遍;灌进埋点上报或网络请求,你就亲手对自己的后端发起了一次小型 DDoS。防抖(debounce)在这里是错误的药方:防抖后的滚动处理器要等滚动停下来才执行,于是阅读进度条在滚动途中直接冻住,到头了才猛地跳一下。你真正想要的是一个稳定节奏——事件持续到来时,每 N 毫秒至多执行一次。这就是节流(throttle)。
烬羽
1 天前
react.js
·
typescript
·
设计
React 状态提升:一个 ColorPicker,彻底搞懂状态该放哪里
代码写了一坨放在一个组件里,功能是跑通了,但你想拆——颜色展示拆成 ColorBrowser,滑块控制拆成 ColorPicker。 代码写了一坨放在一个组件里,功能是跑通了,但你想拆——颜色展示拆成 ColorBrowser,滑块控制拆成 ColorPicker。
console.log('npc')
1 天前
前端
·
javascript
·
react.js
React 跨项目集成实战:iframe 实现子项目详情弹窗
当一个后台系统需要嵌入另一个独立项目的完整详情页面,而两个项目技术栈、API 层、权限体系完全不同时,iframe 是成本最低的跨项目复用方案。本文通过一个运维系统嵌入 Event 工单项目的真实案例,完整拆解从 0 到 1 的实现过程。
无人生还
1 天前
前端
·
vue.js
·
react.js
从 Vue3 到 React · 快速上手系列第 8 篇:组件通信与 Context(对标插槽与 provide/inject)
面向 Vue3 开发者的 React 快速上手系列组件之间怎么传数据?Vue 有 props/emit、插槽、provide/inject。React 全都有对应物。前面讲过 props 和回调(父子通信),这一篇补齐两块:插槽的等价物(children 与 render props)和跨层级通信(Context,对标 provide/inject)。
光影少年
1 天前
前端
·
react native
·
react.js
React Native Module 注册流程
React Native 的 Native Module 注册流程,指的是 JavaScript 层如何调用 Android/iOS 原生代码(Java/Kotlin/Obj-C/Swift)的过程。
BreezeJiang
1 天前
react.js
RGB 滑块和颜色预览不同步?关键不是 CSS,而是状态该放在哪里
摘要:一个 React + TypeScript 练习项目同时实现了 RGB 颜色选择器和异步成员表。它给出的工程判断是:共享状态应放在共同父组件,子组件只读取 props 或通过回调申请更新;接口数据则由 api/ 提供类型契约,再在 useEffect 中写入 state。本文只基于静态源码分析,运行未验证。
Flynt
1 天前
前端
·
javascript
·
react.js
React useEffect闭包陷阱:一个值卡了我两天,最后发现是渲染快照在作怪
两天前我在项目里排查一个诡异的 bug:一个仪表盘页面的数据自动刷新功能,每隔 10 秒拉一次接口,如果后端返回 500 就弹 toast 提示"服务器异常,正在重试",同时把重试次数 +1。结果,toast 上的重试次数永远显示"0",不管实际重试了多少次。 我一开始以为是后端没返回正确的状态码。打开 DevTools 看 Network 面板,请求确实在发,而且后端日志也证实连续返回了好几个 500。问题出在前端——重试次数这个 state 压根没更新到 UI 上。 我又翻了一遍 console,没有
李明卫杭州
2 天前
前端
·
vue.js
·
react.js
Vue3 响应式概念 ↔ React 对应方案(类组件与函数组件)对照笔记
目的:用你已经熟悉的 Vue3 心智模型(响应式数据 / 计算属性 / watch / watchEffect)作锚点,建立 React 中对应概念的映射。React 没有「响应式系统」这一统一内核,而是把「状态」和「副作用」拆成显式 API,理解这个差异是关键。
半个落月
2 天前
react.js
React useEffect 详解:执行时机、依赖数组与副作用清理
在 React 函数组件中,我们经常会遇到这样的需求:这些事情都不是在“计算这次界面应该长什么样”,而是在渲染之外附带完成的工作,也就是常说的副作用。useEffect 正是用来处理这类工作的 Hook。
tntxia
2 天前
react.js
React 的常用 Hook
jsxjsx适合复杂状态、多状态联动、大量更新逻辑(表单、游戏状态)。相当于 useState 的加强版,类似简易 redux。
张元清
2 天前
javascript
·
react.js
React useUpdateEffect Hook:跳过首次渲染(2026)
useEffect 从不关心自己为什么在执行。挂载也好、更新也罢——回调照跑不误。于是「设置已保存 ✓」的 toast 在页面刚加载时就跟用户打了个招呼,autosave 把一个没人碰过的表单 POST 了出去,埋点上报了一次「变更」——实际上只是组件出现了而已。你想表达的是这个值变化时执行;你实际写出来的是这个值变化时执行,另外开头再无缘无故执行一次。
无人生还
2 天前
前端
·
vue.js
·
react.js
从 Vue3 到 React · 快速上手系列第 7 篇:副作用与生命周期 —— watch/watchEffect 如何翻译为 useEffect
面向 Vue3 开发者的 React 快速上手系列在 Vue3 里你想「在某某时机做点额外的事」,工具有好几个:onMounted、onUnmounted、watch、watchEffect。它们各自语义清晰。
半夜里咳嗽的狼
2 天前
react.js
用 React 19.2 Activity 保留页面状态前,先弄清 hidden 模式做了什么
多页签后台有一个反复出现的需求:用户从编辑页切到列表页,再切回来时,表单输入、滚动位置和局部筛选不能丢。最直接的写法是条件渲染:
小林ixn
2 天前
前端
·
react.js
·
typescript
React + TypeScript 实战:从“类型体操”到“数据持久化”,一次讲透组件通信与副作用管理
如果你写过的 React 组件里到处都是 any,或者在 useEffect 里踩过“无限循环”的坑,那么这篇文章就是为你准备的。我们会从最基础的类型约束一路推到状态管理、本地存储,用真实代码和踩坑经验,帮你建立起一套牢不可破的 React + TS 心智模型。
何时梦醒
2 天前
前端
·
react.js
·
全栈
React + TypeScript 企业级开发实战:从零搭建到组件架构演进
作为一名前端开发者,当你从 JavaScript 转向 TypeScript,尤其是将 TypeScript 与 React 结合使用时,往往会遇到一个适应期。本文将通过一个完整的 React + TypeScript + Vite 实战项目,带你深入理解:
不好听613
2 天前
react.js
·
typescript
从困惑到理解:React 父子组件通信的三种写法
以一个"修改用户名"的表单为例,讲清楚 React 里最基础也最容易搞混的父子组件通信。React 里只有一种通信方向:
阿黎梨梨
2 天前
react.js
React + TypeScript 入门:从组件类型到数据流设计
如果你刚接触 React 和 TypeScript 的组合,可能会有这样的感受:JavaScript 还没写利索,怎么又多了一套类型语法?别急,今天我们从一个非常具体的场景出发——在 React 中管理一个“用户名” ,一步一步把 TypeScript 在 React 项目中的用法搞清楚。
烬羽
2 天前
react.js
·
typescript
·
前端框架
React 状态归属:两个版本的用户名编辑器,告诉你 state 该放哪
推荐理由:用一个项目的两次重构,把 React 组件设计最核心的问题——"state 归谁管"——讲得明明白白。
名字还没想好☜
2 天前
前端
·
javascript
·
react.js
·
ecmascript
·
react
·
createportal
React createPortal 实战:模态框逃出 overflow:hidden、事件冒泡与焦点管理
写模态框(Modal)时你大概率遇到过这个诡异现象:弹窗明明该盖住全屏,结果只在某个卡片内部显示一小块,还被父容器的滚动条截断了。加 z-index: 9999 也没用。