0

我的商店看起来像:

import { createStore, applyMiddleware, Store, AnyAction } from 'redux';
import thunk from 'redux-thunk';

import { composeWithDevTools } from 'redux-devtools-extension';
import { persistStore } from 'redux-persist';

import { rootReducer } from './reducer';

export const store = createStore(
    rootReducer,
    {},
    composeWithDevTools(applyMiddleware(thunk))
) as Store<any, AnyAction>;

export const persistor = persistStore(store);

在 ./reducer 中创建了 combineReducers,combineReducers 发送 slice reducer,然后再发送到 persistReducer。

export const rootReducer = combineReducers({
    ui: persistReducer(configUi, uiReducer),
    user: persistReducer(configUser, userReducer),
});

当前状态需要创建必要的实例 axios。

const createConnection = (mode: string | undefined, typeUser: string) => {
    const connect: Connection = new Connection();
    if (mode && mode === 'client' && typeUser === 'visitor')
        connect.setConnection(new ClientVisitor());
    if (mode && mode === 'client' && typeUser === 'group')
        connect.setConnection(new ClientGroup());
    if (mode && mode === 'client' && typeUser === 'user')
        connect.setConnection(new ClientUser());

    if (mode && mode === 'dev' && typeUser === 'visitor')
        connect.setConnection(new DevVisitor());
    if (mode && mode === 'dev' && typeUser === 'group')
        connect.setConnection(new DevGroup());
    if (mode && mode === 'dev' && typeUser === 'user')
        connect.setConnection(new DevUser());

    return connect.createConnection();
};

const currentTypeUser = store.getState().user.status;

const connection = createConnection(
    process.env.REACT_APP_MODE,
    currentTypeUser
);

刷新页面后,如何在提供者和 PersistGate 之外获取当前的持久状态?

4

0 回答 0