【问题标题】:How to disambiguate Store events when using Reflux or Flux?使用 Reflux 或 Flux 时如何消除 Store 事件的歧义?
【发布时间】:2015-04-25 02:52:53
【问题描述】:

在过去的几天里,我遇到了一些困扰我的事情,我似乎无法想出我喜欢的解决方案。我正在使用回流js,但我认为它也适用于香草助焊剂。

所以,假设我有一个 React ComponentOne,它调用一个通量操作来将一些表单数据发布到 API 以创建一个事物。

我的商店触发“ok, a Thing is POSTing”事件,然后稍后触发“ok, a Thing is created”事件。

我的 ComponentOne 应该如何消除这些事件的歧义? ComponentTwo 可能调用了相同的操作,但我们不知道哪个 Thing-POSTed 事件对应于哪个组件。

也许 ComponentOne 的数据会导致失败事件,而 ComponentTwo 会导致完成事件……我们有两个事件,这两个事件对于两个组件来说都是合理的事件,并且没有明显的方法来判断哪个是哪个。

【问题讨论】:

  • 一种解决方案是在操作负载中发送组件:SomeActionCreator.postThing({thing: thing: caller: this});

标签: reactjs reactjs-flux refluxjs


【解决方案1】:

您可以在各个 Store 中维护 API 数据更改的状态,例如 isLoading、isLoaded 和可选时间戳。然后在 View onChange 事件中从 Store 中获取当前状态,并使用当前状态更新相应的 View。

查看相关解决方案 - Calling other action on the basis of results of other action in React JS

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-29
    • 2014-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多