在React.js中,我如何设置一个简单的全局事件系统来在组件之间进行通信?
In React.js, how would I set up a simple global event system to communicate between components?
在玩弄了React一点之后,我想我基本上喜欢它,但是有一些事情我正在努力弄清楚如何去做。其中之一就是没有父子关系的组件之间的基本通信。
我从教程中了解到,大多数通信是通过使用状态和道具的亲子关系完成的,这似乎很简单。但是,当没有亲子关系时,医生建议建立一个全局事件系统,让我自己去弄清楚。我不太确定这是什么意思。
让我们以我正在研究的问题为例。我在页面的导航栏中有一个<SearchBar />
组件,我想用它来填充页面上其他地方的<ResultsTab />
组件的搜索结果。试图通过一个共同的父母将这些联系起来是不现实的。那么,如何用SearchBar的结果更新ResultsTab呢?我敢肯定,我可以通过jQuery来做到这一点,忘记React,但什么是正确的React方式来做到这一点?
Facebook为此发布了一个名为Flux的模式- https://github.com/facebook/flux。在简单的应用程序中,它可能非常冗长,但它工作得很好。
与所有这些事情一样,社区正在快速移动并进行了大量更改。我建议先习惯一些非常基本的例子,然后阅读https://medium.com/@dan_abramov/the- evolutionofflux -frameworks-6c16ad26bb31,并尝试其他一些例子。
@dan_abramov's https://github.com/gaearon/redux目前似乎很受欢迎。
相关文章:
- 全局屏幕span onclick触发一个事件javascript
- 主干视图触发全局事件
- SVG-全局属性和事件的列表
- 缓存事件的变量而不使其全局化
- 通过进程使用 NodeJS 全局事件是个好主意吗?
- 如何在系统中跟踪以下事件
- 将我的nextPage()函数编写为全局函数,以便onclick事件可以访问它
- 关于性能,最好的方法是什么:setInterval()或body上的全局事件
- 哪些浏览器使用哪个密钥事件系统
- jQuery 自定义事件在全局范围内工作,但在对象之间不起作用
- 节流Reactjs事件系统
- 使用 JavaScript 的简单事件系统 (ES5) - JS 自定义事件
- 如何用Javascript实现一个完整的事件系统
- 关联“多步骤系统”;还有一个“事件系统”
- javascript的onchange事件系统实体
- 一个简单的事件系统|如何
- 在React.js中,我如何设置一个简单的全局事件系统来在组件之间进行通信?
- 编写jQuery函数的好方法是为特定事件设置全局变量
- 当事件是全局变量时,JavaScript事件IE问题
- 承诺机制可以取代Angular中的事件系统吗?