首页 > 解决方案 > 我可以在反应中使用数组作为 useEffect() 的依赖吗?

问题描述

在反应中使用数组作为 useEffect() 挂钩中的依赖项。

const [productCategories, setproductCategories] = useState([]);


useEffect(() => {
    // set something..
    if(categories){
      const filtered = categories.filter((c)=>c.available);
      setproductCategories(filtered);
    }
  }, [categories]);

这里的categories已经是一个来自服务器的数组。我想要,如果此类别更改设置 productCategories 状态。当我尝试这个时,它会进入无限调用。

标签: reactjsreact-hooksnext.js

解决方案


而不是 [categories] 使用 [JSON.stringify(categories)] 作为数组引用更改它进入无限循环,最好试试这个。


推荐阅读