react-生命周期 componentWillReceiveProps

react 生命周期 componentWillReceiveProps

这个钩子函数我的用处是 点击按钮返回值 然后再这里获取

1.父组件重新render
直接使用,每当父组件重新render导致的重传props,子组件将直接跟着重新渲染,无论props是否有变化。可通过shouldComponentUpdate方法优化。
2.在componentWillReceiveProps方法中,将props转换成自己的state
是因为componentWillReceiveProps中判断props是否变化了,若变化了,this.setState将引起state变化,从而引起render,此时就没必要再做第二次因重传props引起的render了,不然重复做一样的渲染了。
3.组件本身调用setState,无论state有没有变化。可通过shouldComponentUpdate方法优化。

替代方案
getDerivedStateFromProps
用法

static getDerivedStateFromProps(nextProps,prevState){
 //该方法内禁止访问this
 if(nextProps.email !== prevState.email){
 //通过对比nextProps和prevState,返回一个用于更新状态的对象
 return {
            value:nextProps.email
 }
 }
 //不需要更新状态,返回null
 return null
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值