采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
为什么我执行Edit的onPress事件,子组件UU里面的Text没有变化,一直显示0,子组件的state不能随props而改变
不一样的,父组件的点击是修改的父组件的 state,不会影响到子组件的 state
子组件的 状态,可以继承自父组件传递的 state 属性,但是在 contructor 里面,只会初始化安装会被调用一次,之后便与父组件相互独立了,互不干扰了。
所以,可以 <Text>{this.props.count}</Text> 换成 <Text>{this.props.num}</Text> 来同步父组件的 state 变化
可是老师,你的Item模块就是这么写的啊
我这样写,是为了加载子组件时候能顺利拿到父组件的数据 row,但是我拿到后,直接应用在了状态中,也就是在 constructor 中,自此之后,Item 里面的 row 跟父组件的 row 再无关系了,只用了一次,再不用了。 你的例子的代码,不仅是从父组件中拿到 count,且你还希望父组件的 count,能持续不断的把自己 count 的变化,通过 num 再更新子组件的 haha,这是做不到的,这时候子父组件除了第一次的继承传递,就再没关系了
老师,你也是这样子写的啊,为什么我的这么写就错了?
UU ,这名字好听
他没变化是因为它使用的是自身的 state,并没有与父组件的 num 保持同步
换用这个代替试试:
<Text>{this.props.num}</Text>
登录后可查看更多问答,登录/注册
全面掌握React Native技术,不止步前端开发,让你移动领域大放光彩
3.0k 7
1.7k 7
951 7
1.2k 7
814 6