mirror of
https://github.com/reduxjs/redux-devtools.git
synced 2025-07-22 06:00:07 +03:00
Changes
This commit is contained in:
parent
e9be680533
commit
720ab4fbfb
|
@ -63,17 +63,14 @@ export default function configureStore(
|
||||||
}
|
}
|
||||||
const store = createStore(rootReducer, preloadedState, enhancer);
|
const store = createStore(rootReducer, preloadedState, enhancer);
|
||||||
|
|
||||||
chrome.storage.local.get(['s:hostname', 's:port', 's:secure'], (options) => {
|
if (
|
||||||
if (!options['s:hostname'] || !options['s:port']) return;
|
store.getState().connection.options.hostname &&
|
||||||
|
store.getState().connection.options.port
|
||||||
|
) {
|
||||||
store.dispatch({
|
store.dispatch({
|
||||||
type: CONNECT_REQUEST,
|
type: CONNECT_REQUEST,
|
||||||
options: {
|
|
||||||
hostname: options['s:hostname'],
|
|
||||||
port: options['s:port'],
|
|
||||||
secure: options['s:secure'],
|
|
||||||
} as any,
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
return store;
|
return store;
|
||||||
}
|
}
|
||||||
|
|
|
@ -446,7 +446,6 @@ export interface RemoveInstanceAction {
|
||||||
|
|
||||||
export interface ConnectRequestAction {
|
export interface ConnectRequestAction {
|
||||||
type: typeof CONNECT_REQUEST;
|
type: typeof CONNECT_REQUEST;
|
||||||
options: ConnectionOptions;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
interface ConnectSuccessPayload {
|
interface ConnectSuccessPayload {
|
||||||
|
|
|
@ -16,15 +16,11 @@ class Root extends Component<Props> {
|
||||||
store?: Store<StoreState, StoreAction>;
|
store?: Store<StoreState, StoreAction>;
|
||||||
|
|
||||||
UNSAFE_componentWillMount() {
|
UNSAFE_componentWillMount() {
|
||||||
configureStore((store, preloadedState) => {
|
this.store = configureStore();
|
||||||
this.store = store;
|
this.store.dispatch({
|
||||||
store.dispatch({
|
|
||||||
type: CONNECT_REQUEST,
|
type: CONNECT_REQUEST,
|
||||||
options: (preloadedState!.connection ||
|
|
||||||
this.props.socketOptions) as ConnectionOptions,
|
|
||||||
});
|
});
|
||||||
this.forceUpdate();
|
this.forceUpdate();
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
|
|
|
@ -1,32 +1,20 @@
|
||||||
import { createStore, compose, applyMiddleware, Store } from 'redux';
|
import { createStore, compose, applyMiddleware } from 'redux';
|
||||||
import localForage from 'localforage';
|
import localForage from 'localforage';
|
||||||
import {
|
import { persistReducer, persistStore } from 'redux-persist';
|
||||||
getStoredState,
|
|
||||||
createPersistor,
|
|
||||||
PersistorConfig,
|
|
||||||
} from 'redux-persist';
|
|
||||||
import api from '../middlewares/api';
|
import api from '../middlewares/api';
|
||||||
import exportState from '../middlewares/exportState';
|
import exportState from '../middlewares/exportState';
|
||||||
import rootReducer, { StoreState } from '../reducers';
|
import rootReducer, { StoreState } from '../reducers';
|
||||||
import { StoreAction } from '../actions';
|
import { StoreAction } from '../actions';
|
||||||
|
|
||||||
export default function configureStore(
|
const persistConfig = {
|
||||||
callback: (
|
key: 'redux-devtools',
|
||||||
store: Store<StoreState, StoreAction>,
|
|
||||||
restoredState: Partial<StoreState> | undefined
|
|
||||||
) => void,
|
|
||||||
key?: string
|
|
||||||
) {
|
|
||||||
const persistConfig: PersistorConfig = {
|
|
||||||
keyPrefix: `redux-devtools${key || ''}:`,
|
|
||||||
blacklist: ['instances', 'socket'],
|
blacklist: ['instances', 'socket'],
|
||||||
storage: localForage,
|
storage: localForage,
|
||||||
serialize: (data: unknown) => data,
|
};
|
||||||
deserialize: (data: unknown) => data,
|
|
||||||
} as unknown as PersistorConfig;
|
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
const persistedReducer = persistReducer(persistConfig, rootReducer);
|
||||||
getStoredState<StoreState>(persistConfig, (err, restoredState) => {
|
|
||||||
|
export default function configureStore() {
|
||||||
let composeEnhancers = compose;
|
let composeEnhancers = compose;
|
||||||
if (process.env.NODE_ENV !== 'production') {
|
if (process.env.NODE_ENV !== 'production') {
|
||||||
if (
|
if (
|
||||||
|
@ -52,15 +40,10 @@ export default function configureStore(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const store = createStore(
|
const store = createStore<StoreState, StoreAction, unknown, unknown>(
|
||||||
rootReducer,
|
persistedReducer as any,
|
||||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
||||||
// @ts-ignore
|
|
||||||
restoredState,
|
|
||||||
composeEnhancers(applyMiddleware(exportState, api))
|
composeEnhancers(applyMiddleware(exportState, api))
|
||||||
);
|
);
|
||||||
const persistor = createPersistor(store, persistConfig);
|
persistStore(store);
|
||||||
callback(store, restoredState);
|
return store;
|
||||||
if (err) persistor.purge();
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user