目前我没有路由,但我确实有一个默认状态和一组工作减速器。简化版本如下所示:
const defaultMapState: MapState = {
baseLayer: 'roadmap',
overlays: []
};
然后我有一些操作该状态的操作,例如:
- MAP_SET_BASELAYER
- MAP_ADD_OVERLAY
- MAP_REMOVE_OVERLAY
我正在尝试支持以下场景:
- 有 2 个 URL 参数,baselayer 和 overlays。在应用程序初始化时,使用这些值来设置状态。如果缺少值,请从 defaultState 中获取该变量的值。
- 在每个动作之后,执行某种中间件以将路由与当前状态同步。
- 如果 URL 更改(没有被操作触发)更新状态。
我在这里迷路了。我找到了“@ngrx/router-store”,但我不确定它是如何工作的,以及它是否旨在解决这些问题。