> let alone generating an entirely new state (because the state is immutable)
Assuming you're talking about the redux state, this is only if the state changes. Dispatching an action to change the state of your form should cause the form's entire state tree to change at most, and possibly as few as one or zero objects. All those other redux reducers that just return the previous state are not going to have any performance impact.
In effect, your state is immutable but you're only getting "new" state references for a small portion of the state atom, very cheaply.
> let alone generating an entirely new state (because the state is immutable)
Assuming you're talking about the redux state, this is only if the state changes. Dispatching an action to change the state of your form should cause the form's entire state tree to change at most, and possibly as few as one or zero objects. All those other redux reducers that just return the previous state are not going to have any performance impact.
In effect, your state is immutable but you're only getting "new" state references for a small portion of the state atom, very cheaply.