Проблема с redux, не видет store. reducer Manager.ts:23 Store does not have a valid reducer

Пытаюсь сделать чтоб модалка загружалась отдельным чанком и потом пришлось из-за этого менять slice

Нашел такую статью в документации в Redux Toolkit code spliting

import { combineReducers, Reducer, ReducersMapObject, UnknownAction} from "@reduxjs/toolkit";
import {ReducerManager, StateSchema, StateSchemaKey} from "./StateSchema.ts";



export function createReducerManager(initialReducers : ReducersMapObject<StateSchema>): ReducerManager {
    const reducers = { ...initialReducers }

    let combinedReducer = combineReducers(reducers)

    let keysToRemove: StateSchemaKey[] = []

    return {
        getReducerMap: () => reducers,
        reduce: (state: StateSchema, action : UnknownAction) => {
            if (keysToRemove.length > 0) {
                state = { ...state }
                for (let key of keysToRemove) {
                    delete state[key]
                }
                keysToRemove = []
            }
            return combinedReducer(state, action)
        },
        add: (key : StateSchemaKey, reducer : Reducer) => {
            if (!key || reducers[key]) {
                return
            }
            reducers[key] = reducer
            combinedReducer = combineReducers(reducers)
        },
        remove: (key : StateSchemaKey) => {
            if (!key || !reducers[key]) {
                return
            }

            // Remove it from the reducer mapping
            delete reducers[key]

            // Add the key to the list of keys to clean up
            keysToRemove.push(key)

            // Generate a new combined reducer
            combinedReducer = combineReducers(reducers)
        }
    }
}

Пытался типизировать, но reduce все равно оставался ошибкой.

import {combineReducers, configureStore, ReducersMapObject} from "@reduxjs/toolkit";
import {StateSchema} from "@/app/StoreProvider/config/StateSchema.ts";
import {userReducer} from '@/entities/User'
import {createReducerManager} from "./reducerManager.ts";

export function createReduxStore(initialState?: StateSchema) {
    // @ts-ignore
    const rootReducer: ReducersMapObject<StateSchema> = combineReducers({
        user: userReducer,
    })


    const reducerManager = createReducerManager(rootReducer);

    const store = configureStore<StateSchema>({
        reducer: reducerManager.reduce,
        preloadedState: initialState,
    })

    // @ts-ignore
    store.reducerManager = reducerManager

    return store
}

Вот тут снова TS показывал на ошибку, но я решил на это забить так как не понимаю че от меня нужно

Сама ошибка которая выводит в консоль браузера

reducerManager.ts:23 Store does not have a valid reducer. Make sure the argument passed to combineReducers is an object whose values are reducers.

Вот тут я пытаюсь воспользоваться

    const store = useStore() as ReduxStoreWithManager

     const username = useSelector(getLoginUsername);
     const password = useSelector(getLoginPassword);
     const isLoading = useSelector(getLoginIsLoading);
     const error = useSelector(getLoginError);



     useEffect(() => {
         store.reducerManager.add('loginForm', loginReducer)
        dispatch({type : "@INIT LOGIN_FORM"})
         return () => {
             store.reducerManager.remove('loginForm');
             dispatch({type : "@REMOVE LOGIN_FORM"})

         }
     })


Ответы (0 шт):