【问题标题】:Get data also outside of React components from Relay.js store从 Relay.js 商店获取 React 组件之外的数据
【发布时间】:2016-01-15 05:00:19
【问题描述】:

我有一个用例,我想在反应组件之外使用来自 Relay 存储的一些数据。所以考虑如何将数据获取到某个商店。

一旦组件获取数据,一种选择是将这些数据放入组件中的“存储”中。

但我更希望能够创建类似于 React 组件的存储,它定义了它的要求,但不呈现并且可以从任何其他文件中获取。

我以为我可以使用 react 组件,但是要实例化组件,我需要将其渲染到 dom,这在这种情况下没有意义。

有什么办法可以很好地实现这一目标吗?

【问题讨论】:

    标签: javascript reactjs relayjs


    【解决方案1】:

    我认为这正是您想要的:acdlite/relay-sink

    【讨论】:

    • 太好了,感谢您的链接。似乎这是目前唯一的方法 - 使用反应组件 sink 来自中继的数据。
    • 理想情况下,您将使用Relay.Store 方法来获取/读取任意数据。目前,这是不可能的,因为这些依赖的 RelayQuery 类型是内部/私有的。在最初的版本中是这样的,因为我们想让表面 API 区域变小,并且具有非常明确的行为,以便我们可以根据订阅的组件执行垃圾收集等事情。我们确实希望在未来使其更加灵活。如果您想要一些可见的东西来跟踪它,请随时 open a GitHub issue 使用您的用例。
    【解决方案2】:

    如果您正在处理数据,我建议您考虑使用通量模式。这将允许您将数据逻辑与视图逻辑分开。

    【讨论】:

    • 我一直在广泛使用通量并且仍然用于处理本地数据,但是如果我通过 Relay.js 获取所有服务器端数据,并且只需要从反应组件中取出一些特定数据,我就不需要'如果我可以直接从 Relay 商店获取它们,我不想单独获取它们并使用旧模式。所以我目前正在做的是我将我的 React 根组件中的这些数据传递给该存储,因此可以在其他地方访问它,但认为它可能会更好,如我的问题中所述。
    • 我真的需要多加注意。我还没有建立一个中继项目,所以很快就谈过了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-25
    • 1970-01-01
    • 2016-03-28
    • 2018-09-27
    • 2012-05-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多