2

当且仅当我的组件的道具发生更改时,我想启动一些行为。过去我使用过componentWillReceiveProps,但在当前的文档中,这似乎已被弃用。文档似乎表明这componentDidUpdate是新建议,但是这会在任何更新(包括状态更改)时触发。getDerivedStateFromProps也提到了,但这需要是静态方法。

我可以编写一些代码来运行所有的prevPropsand this.props,但这似乎是重复的。

4

1 回答 1

0

在没有看到代码的情况下,我认为正确的方法是getDerivedStateFromProps在道具发生变化时更新状态,然后让状态变化触发你想要的行为。
我想不出避免使用状态来更新组件的理由,这基本上是反应的本质。

于 2018-05-17T18:27:14.490 回答