I created several stores, they work, everything is ok.
Then, when I log out, I call resetAllStores, set default values to store. In localStorage I can see the default values.
But if you sign in once again in the application and reload the page, then InitialState will already have the values that I pushed there, having received some data from the API, and when I click on the logout button, I will not set objects with default values in the store.
How to fix it?
import { StoreApi, UseBoundStore, create } from 'zustand';
import { devtools, persist } from 'zustand/middleware';
export type Store<T extends unknown> = UseBoundStore<StoreApi<T>>;
const storeResetFns = new Set<() => void>();
export const resetAllStores = () => {
  storeResetFns.forEach(resetFn => {
    resetFn();
  });
};
export const createStore = <T extends unknown>(
  fn: (set: StoreApi<T>['setState'], get: StoreApi<T>['getState'], api: StoreApi<T>) => T,
  persistName: string,
  devToolsName?: string
): Store<T> => {
  const store = create<T>()(
    devtools(persist(fn, { name: persistName }), {
      name: devToolsName || persistName,
      enabled: process.env.NODE_ENV === 'development',
    })
  );
  const initialState = store.getState();
  storeResetFns.add(() => {
    store.setState(initialState, true);
  });
  return store;
};
const initialState = { user: null }
export const useAuth = createStore<AuthState & AuthActions>(
  immer(set => ({
    ...initialState,
  })),
  'auth'
);
When user sign in to the app I set user for example
{user: {name: 'TEST NAME'}}. When I click logout button, I set
{user: null} after but if I reload page: {user: {name: 'TEST NAME'}}. How to prevent this and always set {user: null}
I have tried this guide But it does not work with page reloading