Javascript 如何在以不同用户身份登录后更改Redux持久化数据
因此,我正在开发一个React原生应用程序,在我的应用程序商店中,我坚持使用Javascript 如何在以不同用户身份登录后更改Redux持久化数据,javascript,react-native,redux,react-redux,redux-persist,Javascript,React Native,Redux,React Redux,Redux Persist,因此,我正在开发一个React原生应用程序,在我的应用程序商店中,我坚持使用ratedPosts来保存用户的评级帖子信息 (获取此信息的另一种方法是迭代每篇文章的额定用户列表,因为这种方法会消耗我提出的此解决方案的更多性能) redux商店 然而,我刚刚注意到,在我以不同的用户身份登录到我的应用程序后,持久化数据仍然加载,这通常是我应该预料到的。是否有方法更改不同用户的持久数据?就像我以user1身份登录后一样,加载此数据,而对于user2ratedPosts,则为空 store.js 在用户
ratedPosts
来保存用户的评级帖子信息
(获取此信息的另一种方法是迭代每篇文章的额定用户列表,因为这种方法会消耗我提出的此解决方案的更多性能)
redux商店
然而,我刚刚注意到,在我以不同的用户身份登录到我的应用程序后,持久化数据仍然加载,这通常是我应该预料到的。是否有方法更改不同用户的持久数据?就像我以user1
身份登录后一样,加载此数据,而对于user2
ratedPosts,则为空
store.js
在用户更改事件中,您的应用程序应:
持久化数据将同步并相应更改,但这种方式不会在每次用户更改时重置
ratedPosts
和addedPosts
?所以,第一次添加的数据在作为user1
登录后不会返回。但这种方式不会在每次用户更改时重置ratedPosts和addedPosts吗?是,如果用户发生变化,您希望保留哪些数据?
import { createStore, applyMiddleware } from 'redux'
import { composeWithDevTools } from 'redux-devtools-extension'
import { persistStore, persistReducer } from 'redux-persist'
import AsyncStorage from '@react-native-community/async-storage'
import thunk from 'redux-thunk'
import rootReducer from './src/reducers'
const initialState = {}
const middleware = [thunk]
const persistConfig = {
key: 'root',
storage: AsyncStorage,
whitelist: [
'ratedPosts',
'addedPosts'
],
timeout: 0
}
const persistedReducer = persistReducer(persistConfig, rootReducer)
const store = createStore(
persistedReducer,
initialState,
composeWithDevTools(applyMiddleware(...middleware))
)
const persistor = persistStore(store)
export { store, persistor }