开发中遇到的react问题记录

在用react开发的时候遇到了一个问题:

在实现react父子组件通信时,我在父组件A中调用了子组件B,并向子组件B传入父组件A的方法和state里的2个变量。


在子组件B中接收到父组件A传入的note和beats变量后,存入子组件的state中,子组件通过调用父组件的方法改变父组件的state值,使得父组件render重新渲染。本来以为父组件重新渲染连带子组件重新渲染时,子组件中存储的state值也会随着父组件传入的值变更,结果子组件中的state并没有随着父组件新传入的值更新!最后发现是因为子组件存的state相当于开辟一个引用地址空间来存值(个人表达可能有问题),父组件传新值进来是开辟新的地址空间来存值,而不是对当前子组件的state变量的地址空间的值进行改变覆盖,所以state存的值还是第一次传入保存的值,state中的变量值只能通过触发setState()改变。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值