【发布时间】:2020-10-20 13:23:05
【问题描述】:
如果 props 有变化,我想渲染组件。
当有setState 但我不能在render() 中setState 时渲染组件,它将处于无限循环中。
我尝试使用getDerivedStateFromProps,但由于它是静态的,我无法在其中使用 forceUpdate()。
我的问题是如何检测道具的变化,一旦检测到变化,如何启动渲染功能。
【问题讨论】:
-
这能回答你的问题吗? Re-render React component when prop changes
-
您可以在构造函数中的
state中设置prop,同时您可以使用getDerivedStateFromProp来更新相同的值,以检查现有状态和新道具的值。这样,当 prop 更新时,组件将被重新渲染 -
默认情况下,子组件将在每次道具更改时重新渲染。你确定不使用
memo或PureComponent?
标签: javascript reactjs