在反应中更新三元运算符内的状态

Updating state inside a ternary operator in react

我正在使用 moviedb api 制作应用程序,但我在更新三元运算符内的状态时遇到了一些问题。如果我 运行 下面的代码检查是否一切正常没有问题

{(match.params.id === iteminfo[0]) ? console.log("match") : console.log("nomatch")}

如果 id 和 iteminfo 匹配,我得到匹配,如果它们不匹配,我得到“nomatch”

当我尝试像这样更新状态时

{(match.params.id === iteminfo[0]) ? setRemove(true) : console.log("nomatch")}

我收到以下错误

有没有办法更新状态使其不形成这个循环?

问题是你必须把这个三元组放在渲染函数中,它会产生一个反馈循环。将其包装在 useEffect 回调中即可。