小编Lek*_*123的帖子

在 useEffect 中响应 setTimeout 和 setState

我有这段代码,我的问题是为什么在我的答案函数中我得到了initialState。如何以正确的方式设置状态以在 setTimeout 函数的回调中获得正确的状态?

const App = () => {
  const [state, setState] = useState({
    name: "",
    password: "",
  });

  useEffect(() => {
    setState({ ...state, password: "hello" });
    setTimeout(answer, 1000);
  }, []);

  const answer = () => {
    console.log(state);
    // we get initial State
  };
  return <div className="App"></div>;
};
Run Code Online (Sandbox Code Playgroud)

javascript settimeout reactjs use-effect

3
推荐指数
1
解决办法
3202
查看次数

标签 统计

javascript ×1

reactjs ×1

settimeout ×1

use-effect ×1