これはまだredux
についての別の初心者質問です。私のアプリでは、テキストファイルからステートオブジェクトをロードすることができます。すなわち、ステートオブジェクト全体を完全に再初期化できるようにしたいと考えています。だから私はリセットstate
を初期値にリセットしたくないのですが、は新しいものでを置き換えます。 (このアプリケーションは、ブラウザのローカルストレージにデータを格納するだけで、これまでのところ私はhttp://redux.js.org/docs/introduction/index.htmlからの素晴らしいチュートリアルに従っています)私はいくつかのアプローチを試みましたが、どれも結果を得ていませんでした。例えば、私のreducers/index.js
に私が持っている:reducers/global.js
でreduxで状態全体を上書きする
export default function App (state = {}, action) {
return {
todos: todos(state.todos, action),
...
global: global(state, action)
}
}
は私が持っている:
const global = (state = {}, action) => {
switch(action.type) {
case 'LOAD_DB_FROM_FILE':
return action.fileContents;
default:
return state
}
}
何が起こることはstate
オブジェクトは、奇妙な(またはしない:))十分には、と呼ばれる新しいフィールドを取得するということです元の状態(やないファイルからの読み込み1)を含み、それはさえレベルのカップルのためにネストますglobal
(私はstate.global.global.
でstate
のレプリカを持っている)
私は、このアプローチのハック感を認識しています。私の設定で根本的な欠陥(私の無知のため)を受け入れることさえしても、私の問題に対する簡単で曖昧な答えはまだ見つかりませんでした。
いつもどんな助けでも大歓迎です。
@DimitarRoszenovRuszevあなたは大歓迎です:) –