【问题标题】:Updating state inside a ternary operator in react在反应中更新三元运算符内的状态
【发布时间】:2020-12-07 04:50:45
【问题描述】:

我正在使用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")}

我收到以下错误

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

【问题讨论】:

标签: reactjs conditional-operator


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2021-04-21
    • 2019-07-19
    • 2018-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-19
    • 2021-11-07
    相关资源
    最近更新 更多