反应挂钩-等待状态更新

时间:2020-09-09 15:23:40

标签: javascript html reactjs typescript

我正在使用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]);

只有在实际设置了新状态后,才能执行某些特定的逻辑吗?

1 个答案:

答案 0 :(得分:6)

您可以使用useEffect hook

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

这将在每次data更改时触发内部内容。