React组件互动和全局状态变化

5
我对React非常陌生,只是在尝试使用它。我想知道一些常见的模式、库或内置工具来处理组件之间的通信。例如,我有一个输入组件和一个“列表”组件,根据输入控制器中的内容从服务器更新。想象一下自动完成框。由于组件具有表示逻辑,如果两个组件无法“并排”,该怎么办?它们位于页面的不同部分,因此是两个不同的控制器。 还有,如果我有一个通过Ajax工作的登录/注销按钮呢?我想象页面上有很多不同的组件对登录/注销操作作出反应,根据全局“已登录”状态重新配置自己,并根据特定用户从服务器检索到的数据。 React对这些变化“反应”的最佳方法是什么?谢谢
2个回答

2
你应该看一下FluxDispatcher。它有点像一个发布/订阅系统,但不会出现发布/订阅系统的问题。优点是所有事件都沿着一个方向流动,这使得架构更简单、可扩展。

由于问题特别针对React,因此更容易查看实际的Flux实现reduxredux-react - Tien Do

0
如果你还没有,你应该查看Facebook官方的React文档。他们有一个非常全面的教程,涵盖了90%的场景,包括组件交互的最佳实践。他们在从零开始构建方面也非常擅长。只需要大约20分钟就可以完成:https://facebook.github.io/react/tutorial/tutorial.html 正如另一个答案中提到的,Redux是一个处理应用程序状态和保持不应该相互了解的组件分离的惊人库。基本上,你可以有父组件和子组件,但是如果你有超过2级子组件的组件,你应该考虑使用Redux(或Flux)来处理无关组件之间的状态。Redux解决的问题只是打破这些依赖关系,仍然允许组件具有单一的真相来源。他们的官方文档也非常好:http://redux.js.org/

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接