首页 > 解决方案 > React hooks - 等待状态更新

问题描述

我正在使用 useState() 钩子,我发现我的应用程序有一个错误,因为设置值是异步的。所以如果我有这样的代码:

 const [data, setData] = useState([])
  useEffect(() => {
    const getData = async () => {
      const res = await fetchData()
      console.log(data); // []
      setData(res.data.hits);
      console.log(res.data.hits); // Array full of objects
      console.log(data); // Still []
    }
    getData()
  }, [fetchData]);

只有在实际设置了新状态时,我才能执行一些特定的逻辑?

标签: javascripthtmlreactjstypescript

解决方案


您可以使用useEffect 钩子

useEffect(() => {
   //your code
}, [data]);

每次data更改都会触发内部的内容。


推荐阅读