将两个React组件连接起来进行通信和共享数据的不那么复杂的方法是什么?

时间:2016-04-05 08:19:50

标签: reactjs redux flux

我正面临一个可能已经在stackoverflow上找到答案的用例,所以请随意分享可能回答我问题的主题。我搜索过,找不到我需要的东西。谢谢。

我想知道如何让React组件受到另一个写入影响,尽可能使这两个组件进行通信。

这是我的用例:

  • 我工作的项目使用Redux通过组件共享数据
  • 我在项目中包含了一个react节点模块组件,该组件为self事件提供回调,并在我的情况下提供他当前的状态信息:ReactGridLayout
  • 我想创建一个能够监控ReactGridLayout变化的反应组件并将其显示在屏幕上。让我们调用此组件ReactGridLayoutMonitor
  • ReactGridLayoutMonitor可以在github上共享,所以我希望任何人都可以使用它并轻松集成它。我可以创建一个redux reducer来保存ReactGridLayout的数据并将其连接到ReactGridLayoutMonitor,但它不适用于那些不想要或不能使用Flux架构的人

我如何提供易于使用的ReactGridLayoutMonitor,对于想要使用ReactGridLayout的人来说,需要做些小工作?

这是我尝试做的一个小图: enter image description here

我的想法是创建一个全局变量RGLDdata并使用一个函数来包装ReactGridLayout,该函数将连接ReactGridLayout个回调以保存RGLDdata中的数据。然后ReactGridLayoutMonitor将能够读取其中的数据。 还有其他办法吗?

1 个答案:

答案 0 :(得分:0)

可能唯一的解决方案是提供自定义减速器和自定义HOC,以将此减速器连接到ReactGridLayout& ReactGridLayoutMonitor

这意味着用户可以将reducer集成到combineReducer中并包装ReactGridLayout&使用前ReactGridLayoutMonitor

这里有什么人想到的?欢迎任何更好的主意:)