我有一个产品插入组件,每当我尝试在d useEffect中添加带有useState的对象数组时,都会收到状态更新限制错误。其他公共字符串字段将更新状态而不会出错,到达对象列表更新会得到错误。有没有人曾经经历过这个?
代码:https://gist.github.com/nathancn/5c1b549c3f541702a69e46b3e0547d60 线路错误:49
超过最大反应深度
答案 0 :(得分:2)
缺少用于父组件的代码,但我猜想,在效果内会调用defineCurrentDataByCodigo,从而更新父组件,更新道具,调用useEffect并导致循环。
答案 1 :(得分:1)
我发现了问题!问题是, react不允许我们使用来自不同setState的大序列。
我的代码同步更新了从我的“ API”返回的数据对象。产生该错误的原因是,在设置子产品的日期时,我多次更改为仅更新一个名为“ dataCurrentProduct”的对象,并且在JSX返回中将.map更改为使用“ dataCurrentProduct”。 subProducts等”。感谢您的快速解答,我想可以使用多个“ useState”,只要它不处于无限循环中并使程序崩溃即可,但是我看到即使没有循环,我们对“ useState”也有限制< / p>