Reactjs 反应:在非分层组件之间传递数据?

Reactjs 反应:在非分层组件之间传递数据?,reactjs,Reactjs,这是一个新的反应,并且对于在组件之间传递数据有一个非常基本的问题。我所做的所有研究都假设组件(父/子、父/孙、兄弟)之间存在层次关系。两个问题: 数据可以在不在同一“树”中的两个组件(两个独立组件)之间传递吗 我正在使用React和React-Dom。这可以直接在React中完成,而不使用另一个库(Redux、Mobx等) JJ/西雅图在不同树中的两个组件之间传递数据的常见做法是创建一个EventBus React提供了一个名为Portals 根据API定义: 门户提供了将子节点渲染到DOM节

这是一个新的反应,并且对于在组件之间传递数据有一个非常基本的问题。我所做的所有研究都假设组件(父/子、父/孙、兄弟)之间存在层次关系。两个问题:

数据可以在不在同一“树”中的两个组件(两个独立组件)之间传递吗

我正在使用React和React-Dom。这可以直接在React中完成,而不使用另一个库(Redux、Mobx等)


JJ/西雅图

在不同树中的两个组件之间传递数据的常见做法是创建一个EventBus


React提供了一个名为
Portals

根据API定义:

门户提供了将子节点渲染到DOM节点的一流方法 存在于父组件的DOM层次结构之外的

有关这方面的更多信息:


react只是一个用于创建ui组件的库,以及redux、flux。。。用于管理状态和数据。你需要使用它们。事件总线看起来很漂亮,但这不属于“使用另一个库”类别吗?门户看起来很有趣。现在,我正在将我的应用程序呈现为一个典型的DOM元素:。门户需要使用第二个DOM元素?您应该只需要一个根元素。您提到过:
数据可以在不在同一“树”中的两个组件(两个独立组件)之间传递吗?
。尝试将DOM树与示例中的DOM树关联起来。
import EventBus from 'eventing-bus'
var callback = function(name) { console.log("Hello, " + name + "!"); };
EventBus.on("exampleEventName", callback);

import EventBus from 'eventing-bus';
EventBus.publish("exampleEventName", "Watson");