首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >getDerivedStateFromProps() vs componentDidUpdate()

getDerivedStateFromProps() vs componentDidUpdate()
EN

Stack Overflow用户
提问于 2020-08-11 13:01:39
回答 1查看 299关注 0票数 1

在我的应用程序中,我在很多地方使用了componentWillReceiveProps。现在,我必须用getDerivedStateFromProps()componentDidUpdate()替换它们。首先,我考虑使用getDerivedStateFromProps作为componentWillReceiveProps的替代方案,正如react-native文档所建议的那样。但有些人强烈建议不要使用这种方法,而是建议使用componentDidUpdate。但对于我的要求,所有新的道具都必须在渲染前使用state设置。getDerivedStateFromProps是最好的地方。

因此,在getDerivedStateFromPropscomponentDidUpdate之间使用哪一个

EN

回答 1

Stack Overflow用户

发布于 2020-08-11 13:29:26

来自React文档

https://reactjs.org/docs/react-component.html#static-getderivedstatefromprops

getDerivedStateFromProps在调用render方法之前调用,无论是在初始装载时还是在后续更新时都是如此。它应该返回一个对象来更新状态,或者返回null来不更新任何内容。派生状态会导致冗长的代码,并使您的组件难以考虑。

确保您熟悉更简单的替代方案:

  • 如果需要执行副作用(例如,数据获取或动画)以响应道具的更改,请改用componentDidUpdate生命周期。
  • 如果只想在道具更改时重新计算某些数据,请改用记忆帮助器。<代码>H213<代码>H114如果要在道具更改时“重置”某些状态<代码>E216,请考虑使用密钥完全控制或完全不控制组件。<代码>H217><代码>F218
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63351774

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档