如果我不应该在componentWillUpdate中调用setState,如何更新状态(使用ReactJS)?

hda*_*zhu 23 javascript reactjs

当我setState进入时componentWillUpdate,componentWillUpdate在无限循环中运行并且不会停止被触发.

这从未让我render有机会反映我的变化.如果我不使用,我该如何改变状态componentWillUpdate

编辑:我已经有了一些setState不应该在componentWillUpdate中调用的理解.我只是把我应该做的事情弄糊涂了.

编辑#2:我开始使用componentWillReceiveProps但是当我的父组件改变状态时,我似乎无法触发此功能.我从父母那里提供这种状态作为我孩子的道具.

zay*_*tro 31

首先要检查此方法的官方文档(链接).在实际调用函数时可以读取的位置.

然后阅读常见错误(注意):

您不能在此方法中使用this.setState().如果您需要更新状态以响应prop更改,请改用componentWillReceiveProps.

您更改状态,React自动调用componentWillUpdate.

  • 如果您无法解决此问题,可以将问题发布为新问题.对不起,很难在评论中理解. (2认同)