【发布时间】:2016-06-25 23:31:23
【问题描述】:
全部:
当我阅读 Redux 的源代码时,在它的 createStore 中:
function createStore(reducer, initialState, enhancer) {
......
var currentState = initialState;
......
dispatch({ type: ActionTypes.INIT });
......
}
当创建一个新的store时,它会将currentState设置为initialState,并在init dispatch中调用reducer来更新默认的state值。我想知道:一般 currentStatew 都会从 reducer 中获得一个值,那么那个 initialState 的目的是什么?
谢谢
【问题讨论】:
-
现在整个应用程序状态都在一个树中,您可以将该树序列化(到 json)并保存以备后用。然后,您可以使用您保存的状态填充整个应用程序。这里
initialState允许我们注入应用程序的状态。这是以 redux 的方式组织状态的主要特征之一。 -
@DavinTryon 谢谢,我想我没听懂你。比如说当我们向 createStore(reducer, savedState) 注入保存状态时,初始的 dispatch
dispatch({ type: ActionTypes.INIT });仍然会被调用,返回 reducer 中定义的值,那个 savedState 是如何使用的?
标签: redux