前言
之前文章也有介绍给useState,包括手写一个useState,但是都没有介绍useState 异步回调获取不到最新值的问题,今天简单聊一聊。
setState 的两种传参方式
1、直接传入新值 setState(options);
const [state, setState] = useState(0);
setState(state + 1);
2、传入回调函数 setState(callBack);
const [state, setState] = useState(0);
setState((prevState) => prevState + 1); // prevState 是改变之前的 state 值,return 返回的值会作为新状态覆盖 state 值