这篇文章记录使用react hook过程中需要注意的点,以及与class组件有区别的地方
useState
const [state, setState] = useState(initialState);
- setState用法
- 接收一个新的 state 值
- 接收一个用于更新 state 值的函数,该函数参数是先前的 state 值
- ⚠️注意点
- setState 不是同步的,它不是立即改变state的值
- 如果更新后的值与当前 state 完全相同,则随后的重渲染会被完全跳过(引用类型经常会出现直接在旧值上修改,从而导致页面不会重渲染的问题)
- React 使用 Object.is 比较算法 来比较 state