Wenn ich meine Anwendung ausführen, wenn ich Sitzungsdaten in AsyncStorage habe, ich lade es, aber es wird geladen, nachdem die Komponente eingehängt und an mainContainer als undefined gesendet, ich muss zuerst die Daten laden und dann senden es MainContainerAsyncStorage reagieren Native Sitzung
export default class AppContainer extends Component<{}> {
constructor(props) {
super(props);
this.state = {
data: this.props.data,
authtoken: this.props.authtoken,
sucursal: this.props.sucursal
};
}
componentWillMount() {
if(AsyncStorage.getItem('authtoken') !== null){
this.getDataFromStorage();
}
}
async getDataFromStorage() {
AsyncStorage.getItem('authtoken').then((token) => {
this.setState({ authtoken: token });
console.log(this.state.authtoken);
});
AsyncStorage.getItem('data').then((dataStorage) => {
this.setState({ data: JSON.parse(dataStorage) });
console.log(this.state.data);
});
}
componentDidMount() {
console.log(this.state.data);
console.log(this.state.authtoken);
}
render(props) {
return (
<View style={styles.bigContainer}>
<Header/>
<MainContainer data={this.state.data} authtoken={this.state.authtoken} sucursal={this.state.sucursal}/>
</View>
);
}
}
Mögliche Duplikate von [Reactive Native AsyncStorage ruft Daten nach dem Rendern ab] (https://stackoverflow.com/questions/33553112/react-native-asyncstorage-fetches-data-after-rendering) – JSnow