多対多の関係を持っているため、アクションとレデューサーの分離に関する議論を見ました。Reduxでは、アクションとレデューサーを分離するのはなぜですか?
Reduxでも実際には当てはまりません。 1つのデータストアしかないので、減量措置へのアクションは1対多でなければなりません。
通常、レデューサーは特定のデータストアの特定の変更に適用されます。
MY_ACTION = "MY_ACTION"
function reducer(state, action) {
switch(action.type) {
case MY_ACTION: // stuff with my action to create new state
default: return state
}
}
アクション自体にアクションのハンドラを定義していない、なぜ我々はそうcombineReducers
で複数の減速を組み合わせることができます。 「アヒル」のパターンで
class Action {
constructor(type) {
this.type = type
this.handlers = []
}
add_handler(handler) {
this.handlers += handler
}
get_reducer() {
reducer = combineReducers(this.handlers)
return (state, action) => {
if(action.type == this.type) {
return reducer(state, action)
}
return state
}
}
}
、我々は行動宣言と同じモジュールにメインレデューサーを入れてしまいます。
レデューサーとレビュックスとを別々にする理由はありますか?
あなたが尋ねているか説明しているかはわかりません。 – JMM