react 子组件获取变量属性值

刚刚遇到一个问题:子组件属性值绑定了变量,但是在子组件的componentDidMoiunt中拿到的值始终是undefinded。如下:

1                         <PieInfo 
2                           title='有效病案'
3                           num={yxba}
4                           tcolor='#DC5654'
5                           pieId='useful'
6                           source={cqsj}
7                         />

 

后来在网上搜索才发现,

react组件属性值是直接值(写死)的时候,因为 父组件的值不是异步的,我们能直接在该组件的生命周期中获取,如下:

              <PieInfo 
                          title='DRG数组'
                          num='108'
                          pieId='DRG'
                          source='804’
                          data='506'
                        />

 

当组件属性绑定的是变量时,需要在componentWillRecieveProps中才能获取到。如下:

                        <PieInfo 
                          title='入组病案'
                          num={rzba}
                          pieId='into'
                          source={cqsj}
                          data={rzba}
                        />
    componentWillReceiveProps(nextprops) {
      const { pieId, source, data } = nextprops;
    }

 

 

PS:生命周期定义:

componentDidMount(){}

 调用一次,只在客户端(不在服务器上),在初始渲染发生后立即 子组件的componentDidMount()方法在父组件的componentDidMount()方法之前被调用 setTimeout  setInterval  AJAX 在此之行,强烈建议

componentWillReceiveProps(nextProps){}

 在组件接收新props时调用。初始渲染不调用此方法。老的props可以用this.props  新值就用nextProps查看 在此函数中调用this.setState()不会触发附加的渲染。

转载于:https://www.cnblogs.com/thhj-IT/p/10826544.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值