Wie kann ich Daten von AsyncStorage in den Redux-Speicher laden, wenn die Anwendung zum ersten Mal geladen wird?React Native: Ladewert von AsyncStorage
Ich habe versucht, eine Check-Funktion in componentWillMount
aufrufen.
componentWillMount(){
debugger;
this.check();
}
und in Schach Ich habe versucht, den Wert von AsyncStorage
und speichern Sie es zu redux Speicherobjekt zu nehmen.
async check(){
await AsyncStorage.getItem('location').then((location) => {
this.props.location[0].city = location;
}
});
this.props.selectLocation(this.props.location);
}
Da es sich um eine asynchrone Funktion ist, bin ich nicht in der Lage, die Werte zu erhalten und speichern sie selectLocation
Wirkung von redux anzuzeigen.
Wie werden die Daten ordnungsgemäß abgerufen und gespeichert, bevor die Komponente installiert wird?
Update:
In meinem index.android.js änderte ich meinen Speicher wie diese,
import { persistStore, autoRehydrate } from 'redux-persist'
import combineReducers from './src/Redux/reducers/combineReducers';
// const store = createStore(combineReducers);
const store = compose(autoRehydrate())(createStore)(combineReducers)
persistStore(store, {storage: AsyncStorage},() => {
console.log('restored');
console.log(store);
})
export default class ReactNavigation extends Component {
render() {
return (
<Provider store = {store}>
<App />
</Provider>
);
}
}
warten this.check(); – David