在玩了React之后,我觉得我最喜欢它,但是有一些事情我正在努力弄清楚该怎么做.其中之一是不在父子关系中的组件之间的基本通信.
正如我从教程中理解的那样,大多数通信是通过使用状态和道具的父子关系完成的,这看起来很简单.但是当没有亲子关系时,文档会推荐setting up a global event system,然后让我知道.不确定这是什么意思.
让我们以我正在研究的问题为例.我有一个< SearchBar />我的页面导航栏中的组件,我想用它来填充< ResultsTab />中的搜索结果.组件在页面上的其他位置.试图通过共同的父母来解决这些问题是不切实际的.那么我如何使用SearchBar的结果更新ResultsTab?我确信我可以通过jQuery做到忘记React,但是React的正确方法是什么?
解决方法:
Facebook已经发布了一个名为Flux的模式 – https://github.com/facebook/flux.它在简单的应用程序中可能非常冗长,但效果很好.
与所有这些事情一样,社区正在快速发展并做出很多改变.我建议习惯非常基本的例子,然后阅读https://medium.com/@dan_abramov/the-evolution-of-flux-frameworks-6c16ad26bb31并尝试其他一些例子.
@ dan_abramov的https://github.com/gaearon/redux目前似乎很受欢迎.