React 组件 A 通知组件 B 更新视图
现在有两个组件 A 和 B
这两个组件的内容是完全相同的, A 里面是我喜欢的, B 里面是我不喜欢的
由于内容,结构相同,我共用一个组件写的.但是内容是互斥的
A 组件中选中了 a 那么在 B 组件中就不能选择 a
在组件中可以点击状态为 0 选中状态为 1 不可点击状态为 2
现在我选中了 A 中的 a 也将 B 中的 a 设置成了 2,但是 B 组件并不知道这时候需要更新来显示 B 中的 a 是不可点击的,能实现么?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这样的效果肯定是能实现的,首先如果不使用redux的话你定义两个组件A和B,后可以再定义一个父级P的组件来封装A和B,这样在P中给它一个状态
接着你可以把P中的value传递到A和B组件中,这样传递
接着你在A中如果value改变就调用this.props.onChangeCallback(newValue)方法通知父级组件value改变了,
然后在B中使用componentWillReceiveProps(nextProps)函数当父级的value改变时就执行对应的方法对B中的状态进行改变设置,说得比较不系统,你可以看一看我写的文章,里面有讲
我的文章:https://segmentfault.com/a/11...
提升一个上层父组件,里面有个state控管,A与B个别为子组件。大概流程如下:
A中触发a值为1->触发上层组件setState状态设定为: 为A被选中,设定B此时不能被选中->重渲染