我正在开发一个反应本机项目,我希望保存我的数据,如名称或电子邮件地址,然后到达它。当然会有多个数据。我搜索了它,基本上第一个选项是AsyncStorage(https://facebook.github.io/react-native/docs/asyncstorage.html)。我理解这一点,但我没有得到如何存储多个名称或电子邮件..此外,我想使用redux存储,如果可能的话。我也搜索了它,但我找不到令人满意的方式来实现它。此外,还有redux-persist库。我认为这个库看起来最好,但我不确定我是否需要它。我无法决定开始和继续前进的方式。有任何建议或经验吗?保存后,如何调用数据?
答案 0 :(得分:2)
redux-persist
library非常出色,并且由React Native附带的AsyncStorage
机制提供支持。该库允许您保存Redux商店的当前状态,并在下次启动应用程序时自动对其进行补充。
该库还允许您在重新水化时实现自定义逻辑,以便更好地控制过程。一般来说AsyncStorage不应该直接用于保存原始数据,而是在顶部有一个抽象层 - 如果你已经在使用Redux,Redux Persist是一个很好的抽象。
答案 1 :(得分:0)
我发现redux-storage Library更易于实现react-native redux-storage以保存redux状态。要使用反应原生的引擎,您需要使用redux-storage-engine-reactnativeasyncstorage。
以下是我的代码
import { createStore, applyMiddleware, combineReducers } from 'redux';
import rootReducer from './reducers';
import logger from 'redux-logger';
import * as storage from 'redux-storage'
import createEngine from 'redux-storage-engine-reactnativeasyncstorage';
const engine = createEngine('my-save-key');
export default function configureStore() {
const reducer = storage.reducer(rootReducer);
const middleware = storage.createMiddleware(engine);
const createStoreWithMiddleware = applyMiddleware(middleware)(createStore);
const store = createStoreWithMiddleware(reducer, applyMiddleware(logger));
const load = storage.createLoader(engine);
load(store);
return store;
}
希望现在也可以帮助别人。
由于