AD9*_*D95 7 session-storage reactjs redux react-redux redux-persist
我想将用户相关的属性存储在 sessionStorage 中,并将其他属性存储在 localStorage 中。我能够使用以下配置的 persist 将所有属性存储在 localStorage 中
import reducers from './reducer';
import { persistStore, persistReducer } from 'redux-persist';
import storage from 'redux-persist/lib/storage';
import autoMergeLevel2 from 'redux-persist/lib/stateReconciler/autoMergeLevel2';
const persistConfig = {
key: 'root',
storage: storage,
stateReconciler: autoMergeLevel2 // see "Merge Process" section for details.
};
const pReducer = persistReducer(persistConfig, reducers);
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我如何在 persist 中配置 sessionStorage 和 localStorage 吗?
kar*_*pez 11
除了伊万的回答之外,您还可以使用session开箱即用的驱动程序。
import reducers from './reducer';
import { persistStore, persistReducer } from 'redux-persist';
import storage from 'redux-persist/lib/storage';
import sessionStorage from 'redux-persist/lib/storage/session'
import autoMergeLevel2 from 'redux-persist/lib/stateReconciler/autoMergeLevel2';
const rootPersistConfig = {
key: 'root',
storage: storage,
blacklist: ['auth'],
stateReconciler: autoMergeLevel2
};
const authPersistConfig = {
key: 'auth',
storage: sessionStorage,
}
const rootReducer = combineReducers({
auth: persistReducer(authPersistConfig, authReducer),
other: otherReducer,
})
export default persistReducer(rootPersistConfig, rootReducer)
Run Code Online (Sandbox Code Playgroud)
小智 -2
有时您只想在当前浏览器会话中缓存/保留数据。当关闭浏览器时,你希望缓存再次变空;但是当您刷新浏览器选项卡时,您希望保持缓存完好无损。例如,当您在用户登录应用程序后处理用户会话时,此行为可能很有用。用户会话可以保存到浏览器关闭为止。您可以在其中使用本机 sessionStorage 而不是 localStorage。会话存储的使用方式与本地存储相同。
// Save data to sessionStorage
sessionStorage.setItem('key', 'value');
// Get saved data from sessionStorage
let data = sessionStorage.getItem('key');
// Remove saved data from sessionStorage
sessionStorage.removeItem('key');
// Remove all saved data from sessionStorage
sessionStorage.clear();Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6707 次 |
| 最近记录: |