MobX - 如何在商店之间进行沟通?

MobX - how to comunicate between stores?

在我的应用程序中,我有两个 MobX 存储 - store_A 用于处理用户信息(当前登录的用户等),store_B 用于处理所有用户的事件。
用户登录后,我想显示有关该用户的所有事件。 我如何从 store_B 中访问记录的用户信息(来自 store_A)以便我可以正确过滤事件?
此时我必须将 loggeduserName 数据存储在我的 store_b 中以检索该数据...
来自我的活动商店的代码:

class ObservableEventsStore {
...
//after logIn, save userName: 
  @action setUser(userName) {
    this.givenUser = userName
  } 
...
@computed get filteredByUser() {
    let filteredByUser = this.wholeList
      .filter((event) => this.givenUser === event.user)
      // this.givenUser is what i want to get from store_A 
    return filteredByUser
  }

我想从 UserStore 获取 loggedUser 数据,我也把它存储在那里...

没有惯用的方法,任何获取 userStore 引用的方法都是有效的。我认为通常您可以采用三种方法来实现这一点:

  1. 在 EventStore 之前构造 userStore 并在其构造函数中传递对 EventStore 的引用(或之后设置)
  2. 如果UserStores是单例的,直接导入使用即可
  3. 使用像 InversifyJS 这样的依赖注入系统