reactjs - 我可以在反应中使用数组作为 useEffect() 的依赖吗?
问题描述
在反应中使用数组作为 useEffect() 挂钩中的依赖项。
const [productCategories, setproductCategories] = useState([]);
useEffect(() => {
// set something..
if(categories){
const filtered = categories.filter((c)=>c.available);
setproductCategories(filtered);
}
}, [categories]);
这里的categories已经是一个来自服务器的数组。我想要,如果此类别更改设置 productCategories 状态。当我尝试这个时,它会进入无限调用。
解决方案
而不是 [categories] 使用 [JSON.stringify(categories)] 作为数组引用更改它进入无限循环,最好试试这个。
推荐阅读
- automation - 如何等待浏览器直到数据被填充到下拉框中而不在 puppeteer 中使用 delay()?
- mobx - mobx自动运行没有触发
- r - 如何将 rma() 标准化应用于唯一的 CEL 文件?
- v8 - 如何转换本地
到一个字符串? - python - 根据 python 中 stats.linregress 的输出计算置信区间
- google-apps-script - 如何创建模拟 RANK 公式的自定义函数?
- sql - 如何选择 distinct 但在决赛桌中包含所有其他变量?
- php - 用 php 操作一个字符
- ruby-on-rails - 如何使用 PATCH 表单在网站上添加 POST 表单?
- regex - 用匹配的正则表达式的特定组中的值替换散列的键