首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ReactJS - componentWillReceiveProps使用

ReactJS - componentWillReceiveProps使用
EN

Stack Overflow用户
提问于 2018-08-08 16:41:59
回答 2查看 575关注 0票数 1

我开始学习ReactJS,我想知道使用ReactJS的场景是什么使用它的目的是什么?目前我使用的道具没有它,有什么影响吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-08-08 17:01:37

在您想要在子组件中采取行动以响应道具更改的情况下,componentWillReceiveProps应该是正确的候选者。它的例子是,当您有一个调用和API的用户组件,根据它的父程序提供的ID获取用户详细信息,并且每当支柱ID更改时,您可能希望再次触发API调用并重新呈现更新的视图。

但是,在每个父级重新呈现时都会调用componentWillReceiveProps,而不仅仅是支持更改,因此在使用它时,必须在以前的和currentProps之间提供一个条件检查,如

代码语言:javascript
复制
componentWillReceiveProps(nextProps) {
   if(nextProps.id !== this.props.id) {
       //API call goes here
   }
}

但是,从v16开始,它不鼓励使用componentWillReceiveProps,而是将其使用拆分为componentDidUpdate,在这里您可以进行API调用和getDerivedStateFromProps or memoized functions or key updates,以便根据支持更改进行状态更改。

请查看componentWillReceiveProps vs getDerivedStateFromProps以获得更多详细信息

票数 2
EN

Stack Overflow用户

发布于 2018-08-08 16:50:55

如果您的组件接受一些道具,并且在更改该道具时,您希望做一些业务逻辑或状态更改,那么componentWillReceiveProps就是这个逻辑应该使用的生命周期方法,因为每次道具更改时都会调用componentWillReceiveProps

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51751707

复制
相关文章

相似问题

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