Ho usato Redux nella mia app React e qualcosa mi ha infastidito. La documentazione di Redux rende molto chiaro che il riduttore dovrebbe essere libero dallo stato. Si vedono spesso esempi come questo:Perché un riduttore Redux deve essere privo di effetti collaterali?
function reducer(state = { exampleState: true }, action) {
switch(action.type) {
case "ACTION_EXAMPLE":
return Object.assign({}, state, { exampleState: false });
default:
return state;
}
}
La mia domanda è perché è necessario? JavaScript è single threaded. Non c'è possibilità di una condizione di gara all'interno del riduttore. Per quanto posso dire, un negozio Redux è solo in grado di restituire lo stato attuale del negozio, quindi sembra strano che ci sia così tanta attenzione sulle funzioni pure.
Scusa, cosa significa "non c'è possibilità di una condizione di competizione all'interno del riduttore"? – FurkanO
https://goshakkk.name/redux-side-effect-approaches/ – zloctb