本文整理匯總了TypeScript中redux-persist.persistStore函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript persistStore函數的具體用法?TypeScript persistStore怎麽用?TypeScript persistStore使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了persistStore函數的12個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: createSagaMiddleware
export const configureStore = () => {
const sagaMiddleware = createSagaMiddleware()
const logger = createLogger()
const store = createStore(
persistReducer({ key: 'reversi', storage, whitelist: ['history'] }, reducer),
compose(
applyMiddleware(sagaMiddleware, logger),
getDevtools()
)
)
const persistor = persistStore(store)
if (module.hot) {
module.hot.accept('./reducer', () => {
store.replaceReducer(require('./reducer').default)
})
}
return {
store,
persistor,
runSaga: sagaMiddleware.run,
close () {
store.dispatch(END as any)
}
}
}
示例2: Promise
return new Promise((resolve, reject) => {
try {
const pages = pagesLoaders.map(Page => new Page())
const initialState = bindInitialState(pages)
const reducerList = bindReducers(pages)
const enhancer: any =
process.env.NODE_ENV === 'development' && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__
? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__
: compose
const sagaMiddleware = createSagaMiddleware()
const appReducer = combineReducers(reducerList)
const signOutAction = Actions.SignOut.SIGN_OUT
const rootReducer = (state: any, action: any) => appReducer(action.type === signOutAction ? {} : state, action)
const store = createStore(rootReducer, initialState, enhancer(applyMiddleware(sagaMiddleware), autoRehydrate()))
sagaMiddleware.run(bindSagas(pages))
persistStore(store, {}, () => resolve({ store, pages }))
} catch (e) {
reject(e)
}
})
示例3: configureStore
export default function configureStore(referenceDataService, blotterService, pricingService, analyticsService, compositeStatusService, executionService, openFin) {
const middleware = epicMiddleware(referenceDataService, blotterService, pricingService, analyticsService, compositeStatusService, executionService, openFin)
const store = createStore(
rootReducer,
composeWithDevTools(
applyMiddleware(middleware),
),
)
persistStore(store)
return store
}
示例4: createStore
const persistEnhancer = () => (createStore) => (
reducer,
initialState,
enhancer,
) => {
const store = createStore(
persistReducer(persistConfig, reducer),
initialState,
enhancer,
);
const persist = persistStore(store, null);
return {
persist,
...store,
};
};
示例5: function
export default function ({ store, callback, purge }: PersistState) {
let enableLocalForage = true
try {
window.localStorage.setItem('__u', 'u')
} catch (e) {
enableLocalForage = false
}
const persist = persistStore(store, {
storage: enableLocalForage ? localForage : memoryStorage,
whitelist: reducersToPersist
}, () => {
if (callback) {
callback()
}
})
return purge ? persist.purge() : persist
}
示例6: constructor
constructor(private appRef: ApplicationRef,
private af: AngularFire,
private ngRedux: NgRedux<StoreState>,
private devTools: DevToolsExtension) {
AppModule.angularFire = af;
let enhancers = [];
if (devTools.isEnabled()) {
enhancers = [ ...enhancers, devTools.enhancer() ];
}
const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;
const store: any = createStore(
rootReducer,
initialState,
composeEnhancers(
applyMiddleware(),
autoRehydrate()
)
);
persistStore(store);
ngRedux.provideStore(store);
}
示例7: configureStore
export default function configureStore(defaultState?: State) {
const middlewares = [ravenMiddleware, thunk, requestsMiddleware];
if (process.env.NODE_ENV === 'development') {
/* eslint-disable */
const { createLogger } = require('redux-logger');
/* eslint-enable */
const logger = createLogger({
level: 'info',
collapsed: true,
duration: true,
diff: true,
// Avoid diffing actions that insert a lot of stuff into the state to prevent console from lagging
diffPredicate: (getState: GetState, action: FSA) =>
!action.type.startsWith('FETCH_MODULE_LIST') && !action.type.startsWith('persist/'),
});
middlewares.push(logger);
}
const storeEnhancer = applyMiddleware(...middlewares);
const store: Store<State, any> = createStore(
rootReducer,
// @ts-ignore TODO: Figure out why undefined isn't accepted
defaultState,
composeEnhancers(storeEnhancer),
);
if (module.hot) {
// Enable webpack hot module replacement for reducers
module.hot.accept('../reducers', () => store.replaceReducer(rootReducer));
}
const persistor = persistStore(store);
return { persistor, store };
}
示例8: createMigrate
const config = {
key: 'root',
blacklist: ['router'],
storage,
version: pkg.version,
migrations: createMigrate(migrations, { debug: false }),
};
export const history = createHistory();
export const persistReducers = persistCombineReducers(config, reducers);
export const middlewares: Middleware[] = [];
if (process.env.NODE_ENV === 'test') {
} else {
const loggerMiddleware = createLogger();
middlewares.push(loggerMiddleware);
}
const sagaMiddleware = createSagaMiddleware();
const routerMiddleware = createRouterMiddleware(history);
middlewares.push(sagaMiddleware, routerMiddleware);
export const store: Store<State> = createStore(persistReducers, applyMiddleware(...middlewares));
export const persistor = persistStore(store, null);
sagaMiddleware.run(rootSaga);
示例9: require
import * as localForage from 'localforage';
import { persistStore, autoRehydrate } from 'redux-persist';
import { createStore, applyMiddleware } from 'redux';
import thunk from 'redux-thunk';
import appReducer from '../reducers';
let middleware = [thunk];
let composer: any;
if (process.env.NODE_ENV === 'production') {
composer = require('redux').compose;
} else {
const reduxImmutableStateInvariant = require('redux-immutable-state-invariant').default();
const logger = require('redux-logger').createLogger({
// ...options
});
composer = require('redux-devtools-extension').composeWithDevTools;
middleware = middleware.concat(reduxImmutableStateInvariant, logger);
}
const store = composer(
applyMiddleware(...middleware),
autoRehydrate(),
)(createStore)(appReducer);
persistStore(store, {storage: localForage});
export default store;
示例10: combineReducers
link,
]),
cache,
})
const reducer = combineReducers({
mainScreen: mainScreenReducer,
snackbar: snackbarReducer,
} as any)
const composeEnhancers =
(window as any).__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose
export const store = createStore(reducer, {}, composeEnhancers(autoRehydrate()))
persistStore(store, {
whitelist: ['mainScreen'],
})
// Subscribe to all status updates, Apollo will automatically update the store using the id.
client
.subscribe({
query: gql`
subscription deviceUpdated {
deviceUpdated {
id
name
config
}
}
`,
})
示例11: createStore
const persistConfig: PersistConfig = {
blacklist : ["foo"],
whitelist : ["bar"],
storage : asyncLocalStorage,
transforms : [transform],
debounce : 1000,
keyPrefix : KEY_PREFIX
}
const rehydrateOptions: PersistorRehydrateOptions = { serial : true }
const autoRehydrateConfig: PersistAutoRehydrateConfig<any, any, any> = {
stateReconcile: (state: any, inboundState: any, reducedState: any, log: boolean) => ({})
}
const store: Store<any> = createStore(reducer, autoRehydrate(autoRehydrateConfig))
const persistor: Persistor = persistStore(store, persistConfig, persistCallback)
purgeStoredState({ whitelist : ["foo"] }, ["bar"])
getStoredState(persistConfig, (err: any, restoredState: any) => {
const store: Store<any> = createStore(reducer, restoredState)
const persistor: Persistor = createPersistor(store, persistConfig)
const secondaryPersistor: Persistor = createPersistor(store, { storage : asyncSessionStorage })
persistor.pause()
persistor.resume()
persistor.purge(["foo", "bar"])
persistor.rehydrate(restoredState, rehydrateOptions)
})
示例12: createStore
import me, { State as MeState } from 'store/me'
import users, { State as UsersState } from 'store/users'
// Type definitions
export interface State {
me: MeState
users: UsersState
}
// Reducers
const reducers = {
me,
users
}
// Middleware
const middleware: Middleware[] = [thunk]
if (process.env.NODE_ENV !== 'production') {
middleware.push(logger)
}
// Store
const store = createStore(
persistReducer({ key: 'persistStore', storage }, combineReducers(reducers)),
applyMiddleware(...middleware)
)
// Exports
export default store
export const persistor = persistStore(store)