Rules for Reducers
There are certain rules while using Redux Reducers which we need to follow to avoid certain bugs or surprises.
- Reducers should use only the
stateandactionarguments to calculate the new state. They shouldn't access any external values; - Reducers must not perform asynchronous logic or side effects such as making API calls or running timers etc.;
- The state should not be directly modified inside the reducer functions, instead, the reducer function should return a duplicate state object with updated values. This rule only applies when creating reducers manually. If we use
createSliceto create a slice, we can modify thestatedirectly.
It is important to note that in the case of createSlice reducers, we directly modify the state object, however, in the backend, Redux creates a new duplicate object and assigns it the new changes, so the rule is being followed, but in the backend.
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Génial!
Completion taux amélioré à 3.45
Rules for Reducers
Glissez pour afficher le menu
There are certain rules while using Redux Reducers which we need to follow to avoid certain bugs or surprises.
- Reducers should use only the
stateandactionarguments to calculate the new state. They shouldn't access any external values; - Reducers must not perform asynchronous logic or side effects such as making API calls or running timers etc.;
- The state should not be directly modified inside the reducer functions, instead, the reducer function should return a duplicate state object with updated values. This rule only applies when creating reducers manually. If we use
createSliceto create a slice, we can modify thestatedirectly.
It is important to note that in the case of createSlice reducers, we directly modify the state object, however, in the backend, Redux creates a new duplicate object and assigns it the new changes, so the rule is being followed, but in the backend.
Merci pour vos commentaires !