Veja como resolver o problema de perca de dados esporadicamente quando utilizando redux e redux-persist com apenas uma configuração.
A funcionalidade de tempo limite do redux-persist definitivamente apaga os dados e a reidrata com o estado inicial. Você pode desabilitar a funcionalidade de tempo limite inteiramente passando timeout: 0 em seu persistConfig.
Em sua configuração de persistência, evite a configuração de tempo limite onde o valor de tempo limite padrão é 5000:
const persistConfig: {
...
timeout: 0, // A base de código verifica se há falso, então 0 desabilita
};
Uma solução completa para redux-persist seria adicionar um componente de tempo limite ao PersistGate que renderizaria se seu tempo limite fosse atingido e interromperia o trabalho de reidratação.