Reactjs 在功能容器中设置初始存储状态
完整示例应用程序是Facebook的官方TodoMVC应用程序: 容器如下所示:Reactjs 在功能容器中设置初始存储状态,reactjs,flux,reactjs-flux,Reactjs,Flux,Reactjs Flux,完整示例应用程序是Facebook的官方TodoMVC应用程序: 容器如下所示: “严格使用”; 从“../views/AppView”导入AppView; 从'flux/utils'导入{Container}; 从“../data/TodoActions”导入TodoActions; 从“../data/TodDraftStore”导入TodDraftStore; 从“../data/TodoEditStore”导入TodoEditStore; 从“../data/TodoStore”导入To
“严格使用”;
从“../views/AppView”导入AppView;
从'flux/utils'导入{Container};
从“../data/TodoActions”导入TodoActions;
从“../data/TodDraftStore”导入TodDraftStore;
从“../data/TodoEditStore”导入TodoEditStore;
从“../data/TodoStore”导入TodoStore;
函数getStores(){
返回[
TodoEditStore,
TodoDraftStore,
托多斯托尔,
];
}
函数getState(){
返回{
草稿:TodoDraftStore.getState(),
编辑:TodoEditStore.getState(),
todos:TodoStore.getState(),
onAdd:TodoActions.addTodo,
onDeleteCompletedTodos:TodoActions.deleteCompletedTodos,
onDeleteTodo:TodoActions.deleteTodo,
onEditTodo:TodoActions.editTodo,
OnStartedingToDo:TodoActions.startEditingTodo,
onStopEditingTodo:TodoActions.stopEditingTodo,
onToggleAllTodos:TodoActions.toggleAllTodos,
onToggleTodo:TodoActions.toggleTodo,
onUpdateDraft:TodoActions.updateDraft,
};
}
导出默认容器.createFunctional(AppView、getStores、getState、{withProps:true});
在本例中,存储区开始为空,没有TODO。但是,我希望使用来自服务器的初始TODO预填充存储。假设一个用户之前坚持了他们的TODO,现在又回到页面。当用户再次打开应用程序时,他们会看到已经存在的待办事项
如何设置商店的初始状态?在某种类型的初始化函数中请求数据或通过道具由服务器传递
我尝试过的事情
- 在商店的
函数中设置它,但无法访问道具getInititalState
- 直接在容器的
函数的存储中设置它,但是存储不会为视图更新getState
- 在容器的
函数中分派事件,但它无法设置任何内容,因为尚未呈现任何内容getState