ログインフォームがあり、フォームの値を投稿できます。 POSTリクエストが成功すると、APIから認証トークンが返されます。後で参照できるようにこのトークンをローカルストレージに保存する必要があります。この認証トークンを保存するには、AsyncStorageを使用しています。AsyncStorage.setItem(STORAGE_KEY, responseData.auth_token);
setItemメソッドを使用してデータを保存します。
私がコンソールでこれを記録する場合:
console.log(AsyncStorage.setItem(STORAGE_KEY));
このようなpromiseオブジェクトとして返されます
Promise {_45: 0, _81: 0, _65: null, _54: null}
_45
:
0
_54
:
null
_65
:
"efcc06f00eeec0b529b8"
_81
:
1
__proto__
:オブジェクト
asyncStorage.getItemメソッドから正確な値を取得するにはどうすればよいですか?
これは私のフェッチメソッドです
fetch('http://54.255.201.241/drivers', {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: JSON.stringify({
first_name: this.state.firstName,
mobile_number: this.state.mobileNumber,
vehicle_number: this.state.vehicleNumber,
vehicle_type_id: 1,
})
}).then((response) => response.json()).then((responseData) => {
if (JSON.stringify(responseData.mobile_number) == (this.state.mobileNumber))
{
AsyncStorage.setItem(STORAGE_KEY, responseData.auth_token);
console.log(AsyncStorage.getItem(STORAGE_KEY));
this.props.navigator.Push({id: 'Otp'})
}
else
{
Alert.alert("SignUp Failed","Mobile number already taken.")
}
})
.done();
ところで、彼らが使用したドキュメントでは待っています。それを使ってみましたが、ページが読み込まれていません。スクリーンショットを添付してください。
async/Awaitの使用:
async _getStorageValue(){
var value = await AsyncStorage.getItem('ITEM_NAME')
return value
}