问题描述
我正在使用moviedb API制作应用程序,并且在更新三元运算符内部的状态时遇到了一些麻烦。如果我运行以下代码来检查一切是否正常
{(match.params.id === iteminfo[0]) ? console.log("match") : console.log("nomatch")}
如果id和iteminfo匹配,则得到匹配,如果不匹配,则得到“不匹配”
当我尝试更新状态时
{(match.params.id === iteminfo[0]) ? setRemove(true) : console.log("nomatch")}
我收到以下错误
是否有一种方法可以更新状态,从而不会形成此循环?
解决方法
问题是您必须将此三元数放在render函数中,这会产生反馈循环。将其包装在useEffect回调中。