React Hooks 本质是自变量与因变量:
useState |
定义自变量 |
useMemo 与 useCallback |
定义无副作用的因变量 |
useEffect |
定义有副作用的因变量 |
useReducer |
方便操作更多自变量 |
useContext |
跨组件层级操作自变量 |
useRef |
用于保存标记变量(标记变量既不是自变量,也不是因变量,只是缓存这个路径上的数据), 增加组件灵活性 |
function App() {
const [x, setX ] = useState(0);
// const y = 2 * x + 1;
const y = useMemo(() => 2 * x + 1, [x]); // x 不变时,使用缓存的值
// const changeX = () => setX(x + 1);
const changeX2 = useCallback(() => { setX(x + 2) }, [x]);
useEffect(() => {
document.title = y + '';
}, [y])
return (
<div className="App">
<button onClick={changeX2}>change x</button>
x: {x},
y: {y}
<hr></hr>
<button onClick={counterState.addCount}>Add Count</button>
Hello world {counterState.doubleCount}
</div>
);
}
分类:
前端框架
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通