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
state
andaction
arguments 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
createSlice
to create a slice, we can modify thestate
directly.
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
Posez-moi des questions sur ce sujet
Résumer ce chapitre
Afficher des exemples du monde réel
Awesome!
Completion rate improved to 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
state
andaction
arguments 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
createSlice
to create a slice, we can modify thestate
directly.
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 !