如何在ngrx中注入初始状态

How to inject inital state in ngrx

我正在 Angular 4 应用程序中实施 ngrx 状态管理。一切顺利,直到我尝试 "hydrate" 应用程序状态与之前保存在浏览器本地存储中的状态。

我对 ngrx/store 文档的 Initial State and Ahead of Time Compilation section 有疑问。具体来说,以下行是什么意思,我将如何设置 ("dynamically injecting at run-time") initialStateFromSomewhere 到从浏览器本地存储检索的状态?

/// Pretend this is dynamically injected at runtime
const initialStateFromSomewhere = { counter: 3 };

在创建减速器时,您需要为商店提供初始状态。

假设您有 FeatureState

interface FeatureState {
  counter: number;
}

现在在你的 reducer 中你需要创建 initialState

const initialState: FeatureState = {
  count : 0;
}

这个初始状态将提供给 reducer

中的状态
export function reducer(state: FeatureState = initialState, action: Action): State {

现在,如果您想动态添加 initialState,您可以从商店中检索 initialState 并将其传递到 reducer