在与反应无关的组件之间传递数据

Posted

技术标签:

【中文标题】在与反应无关的组件之间传递数据【英文标题】:Pass data between components that are not related on react 【发布时间】:2016-05-25 08:38:15 【问题描述】:

我正在做一个应用程序,我有一个 ajax 调用,将数据发送到服务器并询问数据库,它检索我的对象数据。直到这里一切都很酷。但我想用 routie 做一个路由到在它自己的页面上检索结果。问题是这两个组件在层次结构上处于同一级别,因此无法获取状态数据的道具????。我听说过通量,但对于我正在做的项目来说,它是一个非常复杂的架构。你们有解决这个问题的好方法吗?

非常感谢;)

【问题讨论】:

【参考方案1】:

我认为您不需要 Flux。您不能(或至少不应该)在同一层次结构级别的组件之间传递数据。您应该阅读以下几行:https://facebook.github.io/react/docs/thinking-in-react.html#step-4-identify-where-your-state-should-live

它通过定义一些简单的规则为您提供有关如何决定将状态放置在何处的相同提示。

只需将必要的逻辑放入两个组件的共同所有者中(因此层次结构中的一个或多个级别)。

【讨论】:

好的,所以我必须有一个容器组件,例如应用程序来包含所有组件,这些组件包含它们轮到组成页面的组件。但是如果我这样做,我必须销毁代表旧页面没有? 如果我做一个所有者组件,它只是在这里绑定数据而不渲染?

以上是关于在与反应无关的组件之间传递数据的主要内容,如果未能解决你的问题,请参考以下文章

无法使用反应上下文在不同组件之间共享数据

如何将数据从反应组件传递到 Apollo graphql 查询?

Vuex

将异步结果从父组件传递给子组件反应功能组件

组件之间传递数据。 flutter中在Stepper中传递数据

在页面加载时将道具传递给子组件 - 与 next.js 做出反应