Next.js Discord

Discord Forum

Redux-Persist and Nextjs App router, (store state lost on page reload)

Unanswered
Weevil parasitoid posted this in #help-forum
Open in Discord
Weevil parasitoidOP
I'm using nextjs app router and redux-persist but once i set the state in the store and reload the page, state disappears and cannot persist.

I'm looking for your help guys.

import reducer from "./rootReducer";
import { configureStore, GetThunkAPI } from "@reduxjs/toolkit";
import createWebStorage from "redux-persist/lib/storage/createWebStorage";
import { FLUSH, PAUSE, PERSIST, persistReducer, PURGE, REGISTER, REHYDRATE } from "redux-persist";
import { AsyncThunkConfig } from "@reduxjs/toolkit/dist/createAsyncThunk";


const createNoopStorage = () => {
  return {
    getItem(_key: string) {
      return Promise.resolve(null);
    },
    setItem(_key: string, value: string) {
      return Promise.resolve(value);
    },
    removeItem(_key: string) {
      return Promise.resolve();
    },
  };
};

const storage = typeof window !== "undefined" ? createWebStorage("local") : createNoopStorage();

const persistConfig = {
  key: "root",
  storage,
  whitelist: ["user", "ui"],
};


const persistedReducer = persistReducer(persistConfig, reducer);

const ignoredActions = [FLUSH, REHYDRATE, PAUSE, PERSIST, PURGE, REGISTER];

const makeStore = () =>
  configureStore({
    reducer: persistedReducer,
    devTools: process.env.NODE_ENV !== "production",
    middleware: (gDM) => gDM({ serializableCheck: { ignoredActions } }),
  });

0 Replies