首页 > 解决方案 > 无法在 useEffect 中更新状态

问题描述

我正在尝试使用从 Contentful 获取的产品更新状态,但它们不会立即更新。

我在 useEffect 中调用 getProducts():

 useEffect(() => {
    getProducts(products, setProducts);
  }, []);

在我的 getProducts() 函数中,我从 Contentful 获取数据,将其设置为状态(产品),然后将相同的状态保存到 localStorage。

export async function getProducts(products, setProducts) {
  try {
    let contentful = await client.getEntries("products");

    setProducts(contentful.items);
    saveProducts(products);

  } catch (error) {
    console.log(error);
  }
}

问题是,当我将它保存到 localStorage 时,我得到一个空数组。

我不知道我使用 useEffect 是否有误,但如果有人能帮助我,我会很高兴。

标签: javascriptreactjs

解决方案


推荐阅读