0

当使用 React 和 Reflux 时,商店只有一个事件供组件监听。假如说:

  • 我有一个包含产品列表的 ProductStore
  • 我有两个组件可以监听这个商店的变化:一个对所有变化感兴趣的产品列表和一个只关心特定产品更新的详细信息页面

我如何区分“list_refreshed”或“item_updated”事件,其中第一个事件表示产品列表的完全刷新,而后者仅表示单个项目的更新?

4

1 回答 1

0

不确定您的确切情况,但我为类似的事情所做的是更新商店中的布尔值或属性。然后将事件发送到顶级组件。然后,顶层组件将根据来自商店的布尔值的返回值沿链向下传递适当的更改。

可以在这里看到我从 ItemStore 获得一个布尔值:https ://github.com/agmcleod/desert/blob/master/js/components/ProjectShow.react.js#L22

https://github.com/agmcleod/desert/blob/master/js/components/ProjectShow.react.js#L165

然后我将它传递给一个 ItemList 组件,如果它是真的,它将呈现一个带有文本框的空项目。我有一个动作触发商店将该布尔值设置为真。

于 2015-02-12T23:32:39.093 回答