React hooks踩坑记录

131 阅读1分钟

这篇文章记录使用react hook过程中需要注意的点,以及与class组件有区别的地方

useState

const [state, setState] = useState(initialState);

  1. setState用法
  • 接收一个新的 state 值
  • 接收一个用于更新 state 值的函数,该函数参数是先前的 state 值
  1. ⚠️注意点
  • setState 不是同步的,它不是立即改变state的值
  • 如果更新后的值与当前 state 完全相同,则随后的重渲染会被完全跳过(引用类型经常会出现直接在旧值上修改,从而导致页面不会重渲染的问题)
  • React 使用 Object.is 比较算法 来比较 state