【发布时间】:2016-08-27 10:42:54
【问题描述】:
到目前为止,我构建的 react+flux 应用程序,根据应用程序的要求构建商店的初始状态很容易。我可以只使用简单的 JS 对象,或者如果需要持久化状态,我使用具有同步 api 的 localStorage,从而导致在调用 getInitialState 时状态可用。
getInitialState() {
return State.getInitialState();//synchronous method which returns state
}
但是,根据当前的要求,我必须从 indexeddb 中保存和检索状态,它的 api 是异步的。因此,我目前得到的 intialState 是未定义的,这会导致不变的违规错误。
是否可以异步加载 store 中的 initialState?
【问题讨论】:
-
两个选项:为应用程序提供一个本地初始状态,直到异步调用完成,或者,为组件提供足够的逻辑来处理不完整的状态。例如,在我最近构建的一个应用程序中,我异步加载图形数据。每个 Graph 组件都会显示一条加载消息,直到它的 props 数据数组有数据为止,因为每个组件都知道它的 props 数据数组永远不会为空。
-
查看mern 的服务器端渲染示例。没有正确的方法,但我认为这些例子似乎特别明智。
标签: reactjs flux reactjs-flux