用途:这是一条 React 编码规范,适用于更新状态时新值依赖当前状态值的场景,例如基于现有列表追加或删除元素。
主要能力:使用函数式更新形式 setState(curr => ...) 而非直接引用状态变量,可获得稳定回调引用、避免闭包过期、减少依赖项并防止相关缺陷;示例中 setItems([...items, ...newItems]) 需依赖 items 并随其变化重建,而 setItems(curr => [...curr, ...newItems]) 无依赖且稳定;删除示例中遗漏 items 依赖会导致始终引用初始值。
使用方式:在 useCallback、useMemo、事件处理器及异步操作中,凡是需要当前状态值的地方都改用函数式更新,依赖数组可置空。若仅设置静态值(如 setCount(0))或仅由 props/参数决定(如 setName(newName)),不受前一状态影响,直接更新即可。资料未提供安装命令、代码外的具体使用步骤或配置项。
限制与说明:资料说明若项目启用 React Compiler,编译器可自动优化部分情况,但出于正确性并防止闭包过期缺陷,仍建议采用函数式更新;其余平台、收费、效果等事实暂未提供。