Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 状态更新时出现React hook重新呈现错误_Javascript_Reactjs_React Hooks - Fatal编程技术网

Javascript 状态更新时出现React hook重新呈现错误

Javascript 状态更新时出现React hook重新呈现错误,javascript,reactjs,react-hooks,Javascript,Reactjs,React Hooks,在我的应用程序中,我需要为每个行数据索引映射一个包含材质UI范围滑块的对象数组。更改其中一个范围滑块(左滑块按钮和右滑块按钮中的左按钮)的值时,滑动/选择的值需要更新到另一个表的名为new count的字段中 此外,从滑块获得的值,假设选择了10,它需要与键score\u impact(从对象数组中)相乘。乘法后获得的值,更新的\u风险\u分数需要传递给仪表组件,以便其指针根据该值移动。 该方法适用于包含范围滑块的数据表的每一行 我面临的问题是,每当我试图在迭代/映射中使用updated\u r

在我的应用程序中,我需要为每个行数据索引映射一个包含材质UI范围滑块的对象数组。更改其中一个范围滑块(左滑块按钮和右滑块按钮中的左按钮)的值时,滑动/选择的值需要更新到另一个表的名为
new count
的字段中

此外,从滑块获得的值,假设选择了
10
,它需要与键
score\u impact
(从对象数组中)相乘。乘法后获得的值,
更新的\u风险\u分数
需要传递给仪表组件,以便其指针根据该值移动。 该方法适用于包含范围滑块的数据表的每一行

我面临的问题是,每当我试图在迭代/映射中使用
updated\u risk\u score
更新状态时,它都会给出一个错误,即,
重新渲染的次数太多。React限制渲染的数量以防止无限循环。
我试图比较值的变化,然后只更新状态,但错误仍然存在。 即使出于同样的目的使用了本地存储,它也无法保存仪表的更新值

以下是代码的工作片段:

我已经在这个问题上停留了相当长的时间,因为我对使用钩子还不熟悉。如果您能尽快解决此问题,我们将不胜感激

提前感谢。

设置风险评分(更新的风险评分); 当您使用useState并设置组件重新渲染的值时。在您的情况下,setRiskScore()每次都会更新状态,每次重新渲染后都会再次调用它

UPD.

if (value_selected && value_selected.index === i) {
   percent_diff = formatPercent(percentValue.value, ele.current_count);
   updated_risk_score = Math.abs(ele.score_impact) * percentValue.value;
   if (updated_risk_score !== riskScore) {
       setRiskScore(updated_risk_score);
   }
   renderNewValue = Number(value_selected.value);
} else {
   renderNewValue = ele.current_count;
}

是的,我明白了,但是你能建议我如何解决这个问题吗?尝试一次一次地解决这个问题更新的风险值需要从
renderInterventionsData
render函数传递。不是来自handleChanges()。你确定这样行吗?因为从slider获得的值需要与objectsTry映射数组中的某个参数相乘到这个参数)