Dim*_*zev 5 javascript redux react-redux
这是另一个新手问题redux.在我的应用程序中,我希望能够从文本文件加载状态,即能够完全重新初始化整个状态对象.所以我不希望重置的state初始值,但更换一个新的.(仅供参考,应用程序仅将数据存储在浏览器的localStorage中.此外,到目前为止,我已经按照http://redux.js.org/docs/introduction/index.html上的精彩教程进行了操作)我尝试了几种方法,但都没有他们已经取得了成果.例如,我自己reducers/index.js有:
export default function App (state = {}, action) {
return {
todos: todos(state.todos, action),
...
global: global(state, action)
}
}
Run Code Online (Sandbox Code Playgroud)
在reducers/global.js我有:
const global = (state = {}, action) => {
switch(action.type) {
case 'LOAD_DB_FROM_FILE':
return action.fileContents;
default:
return state
}
}
Run Code Online (Sandbox Code Playgroud)
会发生什么事情state,奇怪(或不是:)足够的对象获得一个新的字段global,其中包含原始状态(而不是从文件中读取的那个),它甚至可以嵌套几个级别(所以我有stateat 的复制品state.global.global.)
我知道这种方法的黑客,甚至愿意在我的设置中接受一个基本的缺陷(由于我的无知),但我仍然无法找到一个简单而明确的问题答案.
一如既往,任何帮助将不胜感激.
我对 redux 知之甚少,但根据我对 JavaScript 的了解,我会说你需要这样的东西:
// reducers/index.js
export default function App (state = {}, action) {
state = global(state, action);
return {
todos: todos(state.todos, action),
...
};
}
Run Code Online (Sandbox Code Playgroud)
因此,指定的减速器global有机会立即替换整个状态对象。
| 归档时间: |
|
| 查看次数: |
1136 次 |
| 最近记录: |