Reduxのレデューサー組成の概念を知りました。サブレデューサーの初期状態をどのように設定すべきか混乱しました。Reduxサブレデューサーの初期状態を設定する
同様の質問はthisでしたが、状態ツリーの各部分の最上位レデューサーにしか関係しません。
私が理解しているように、各レデューサーは、責任を負うステートツリーの部分の初期状態を提供する必要があります。例えば
、私はこのような状態の木を持っていた場合:
{
dashboard:{
stats:{
sales:23,
purchases:22
},
messages:{
unread:3,
draft:5
},
//...etc
},
//...
}
そして私はstats
とmessages
のための1つのトップレベルのダッシュボード用減速機と同様に、減速していた、すべきですダッシュボードのパーツの初期状態をダッシュボードレデューサーに設定するか、各パーツのレデューサーに設定します。もしそうなら、このコードはどのように見えますか?私の推論が正しい
const initialState = {
stats: {},
messages: {},
//...
}
export default function dashboard(state = initialState, action) {
switch (action.type) {
case FETCH_STATS:
case FETCH_STATS_SUCCESS:
case FETCH_STATS_FAILURE:
return {
...state,
stats: stats(state.stats, action)
}
case FETCH_MESSAGES:
case FETCH_MESSAGES_SUCCESS:
case FETCH_MESSAGES_FAILURE:
return {
...state,
messages: messages(state.messages, action)
}
//...any other action cases
default:
const combined = combineReducers({
stats,
messages
})
return {
...state, //for any part without a reducer
...combined
}
}
}
です:
私の最初に考えたのは、このようなダッシュボードの減速を実装することでしたか?改善提案も歓迎されます。