Offline as the default state
State persists because the app has to be useful before the network returns, not as a fallback bolted on afterward.
Read the codeThe cheaper alternative
Fetch on mount and show a spinner until the network answers.
A write that lands while the network is down
What it would have cost
A dead application whenever the network is, in markets where that is most of the day.
What the decision bought
Persisted slices merged back into the reducers' initial state on boot, rather than replacing it.
Where it lives
This site's Redux store, and AES Connect