我是Redux和React Native的新手,想知道我是否可以在Redux中实现并存储令牌会话,以使用户在关闭并重新打开应用程序后保持登录状态。我发现有人推荐AsyncStorage,但我的应用程序状态由Redux处理。
这也是我的Redux商店,它也使用AsyncStorage。
import { createStore } from 'redux'
import { persistStore, persistReducer } from 'redux-persist'
import AsyncStorage from '@react-native-community/async-storage';
import reducer from './reducers/index'
const persistConfig = {
key: 'root',
version: 0,
storage: AsyncStorage
}
const persistedReducer = persistReducer(persistConfig, reducer)
const store = createStore(persistedReducer)
const persistor = persistStore(store)
export { store, persistor }
在以相同方式存储其他数据时,足以保持令牌会话了吗?
关闭并重新打开应用程序后,redux存储无法恢复数据。
从'react-native'导入{AsyncStorage}
您可以通过AsyncStorage.setItem(userSessionKey,userData)进行存储
并通过还原
async function restoreSession() {
try {
const data = await AsyncStorage.getItem(userSessionKey)
const userData = JSON.parse(data)
if (userData !== null) {
return userData
} else {
throw new Error('User Data is empty')
}
} catch (error) {
//console.log(error)
return null
}
}
因此,当应用启动时,在导航至主应用之前,还原数据并添加到Redux存储
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句