“Why can mutating state directly inside a reducer prevent React from updating the UI?”
Because reducers only support primitive return values
Because React compares previous and next state using Object.is
Because reducers automatically freeze state objects
Because mutated objects cannot trigger reconciliation