我想知道ReactJS组件之间的通信建议方式是什么 . 我看了一眼related question . 但是,我没有找到足够的答案 . 关键方法似乎如下:
-
假设只有孩子/父母进行交流 .
-
通过设置道具实现从父到子的通信,反过来通过将回调作为道具来实现 .
这有以下缺点:
-
因为兄弟姐妹真的需要't communicate directly, all state which has to be passed back and forth between siblings has to be stored in their common parent. This means that the parent has a lot of state which it doesn' .
-
传递回调相当不优雅 .
我想做的是添加组件方法/成员以 Build 通信 . 我在想RxJS . 这意味着以下内容:
-
我接受通信超出了ReactJS处理的功能范围 . 无论如何,情况似乎如此 .
-
类的成员需要持久化 . 例如,父组件在每次调用其
render
函数时都不应创建新的<Child />
,因为在这种情况下,必须重新 Build 所有订阅 . 相反,构造函数必须创建this.child = <Child />
对象,而在render
调用渲染{this.child}
.
我的问题是:组件通信是以某种方式由ReactJS处理的,还是应该由开发人员以其他方式处理?
在第一种情况下:是否存在可扩展且优雅的方式,可以在ReactJS中实现组件之间的通信? ReactJS的开发人员的理由是按照上述方式完成的还是我缺少的东西?
在第二种情况下:组件应如何通信?
1 回答
那么在React中有两种已 Build 的方式来在组件之间进行通信 .
Observable architechture: Mobx
Flux like architechture: Redux
注意:如果你不确定从什么开始,请看看mobx :)