为什么在setinterval中单击按钮后状态没有更新?

时间:2019-11-15 15:45:39

标签: javascript reactjs

能否请您告诉我为什么状态未更新?在按钮上单击,我更新了状态,但是当我在setinterval上控制状态时,为什么没有更新?

这是我的代码

https://codesandbox.io/s/cool-shamir-8lmpo enter image description here

 <button
        onClick={() => {
          setState({
            filters: {
              apps: "DDDDDDH",
              searchText: "12333",
              taskType: "",
              dateFrom: "",
              dateTo: "",
              status: ""
            }
          });
        }}
      >


useEffect(() => {
    console.log("===============");
    setInterval(() => {
      console.log(state);
    }, 10000);
  }, []);

After button click searchText: "12333",搜索文本应处于12333状态,但显示为空?

为什么setinterval中的state值不显示12333

1 个答案:

答案 0 :(得分:0)

我想,这就是您想要的:

useEffect(() => {
  const interval = setInterval(() => {
    console.log(state);
  }, 10000);

  return () => clearInterval(interval);
}, [state]);