我已經看到分離動作和縮減器的論點,因爲它們有多對多的關係。爲什麼單獨操作+ reducer在Redux中?
我不認爲這實際上適用於Redux。由於只有1個數據存儲區,因此對還原器的操作應該是1對多的。
典型的reducer適用於特定數據存儲的特定更改。
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
}
}
}
隨着「鴨子」的格局,我們最終把主減速器相同的模塊作爲行動宣言英寸
是否有任何理由讓Reduce +動作與redux分開?
我不知道你在問什麼或說明。 – JMM