インターネットに接続していない状態でReact Nativeアプリを再度開くときに、取得したAPIデータ(配列)を保持したい。AsyncStorageでAPIデータを維持する
状態のデータを取得して保存すると、AsyncStorage
はAxiosを使ってうまく動作します。
無制限の読み込み時間があるため、キャッチの約束をどのようにトリガーし、保存したデータをその状態の新しいデータとして使用するかわかりません。
これは私のコードです:
componentWillMount(){
axios.get('http://example.com/api_get_request')
.then((response) => {
console.log('connection ok!');
AsyncStorage.setItem('landen', JSON.stringify(response.data));
this.setState({
landen: response.data,
loading: false,
});
//DATA SET TO STATE + ASYNCSTORAGE
})
.catch(error => {
console.log(error.response);
AsyncStorage.getItem('landen').then((value) => {
this.setState({
landen: JSON.parse(value),
loading: false,
});
//NO CONNECTION -> ASYNC DATA
});
});
}