在 React 中共享单例通量存储

Sharing singleton flux stores in React

所以我对 flux 的一般要点是商店应该始终是单例。在我的示例中,我有以下内容:

控制人员 CRUD 操作以及搜索/过滤的人员存储。

我现在有 2 个组件同时显示,它们使用此过滤,我目前的问题是当前的实现,由于它们共享存储,它们将对两个组件进行过滤。

我目前的解决方案是:

  1. 在控制器组件中控制过滤
  2. 拥有 2 个独立的商店,涵盖各自的领域,并在共享实用程序中具有过滤功能

第一个解决方案对我来说还不错。

尽管如此,您也可以实现一个由哈希表组成的缓冲区,以便将临时过滤结果分开,就好像它们是会话一样。

优点: 您可以更改共享数据,如果多个组件正在查找相同的数据,则每个更改都将反映在所有这些组件中。

缺点: 会有很多更改事件,您需要在更改状态之前检查商店更改事件对您的组件是否重要,以防止不必要的渲染调用。