Untitled Feature Image

Untitled

· 15 min

深入 React hooks 一点点 - React 学习笔记 Feature Image

深入 React hooks 一点点 - React 学习笔记

💡本文涉及内容均为个人见解,如有不正确的地方,欢迎各位大佬指正! useCallback 和 useMemo 之前我一直以为,useCallback 和 useMemo 会缓存它所使用的变量,所以如果你不把相关的变量写进依赖项里面的话就会导致这两个 hooks 拿到的不是变量最新的值。 这样的想法,对也不对。对的部分是,useCallback 和 useMemo 肯定会缓存你的数据,否则在函数组件的书写模式下,组件 props 或 state 的每一次改变都会导致组件重新渲染,另一方面,错误的依赖项也确实可能会导致你的函数拿不到所依赖的变量的最新值。而不对的地方在于事实上,useCallback 缓存的是你第一个参数传入的函数,而 useMemo 缓存的是第一个参数返回的值。 先看 useCallback useCallback 的运行逻辑类似于下面这种情况: let state = 'matt'; const generate = (state) => { return () =>

· 5 min