現在我想在用戶登錄成功後保存用戶令牌。React Native獲取異步存儲返回未處理的承諾
這裏是我的代碼:
onPress(){
return axios.post('https://api.example.net/v1/user/auth/login', {
email: this.state.email,
password: this.state.password,
}, {
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
},
}).then((response) => {
AsyncStorage.setItem('token', response.data.login._cxz,() => {
console.log('success');
});
this.props.navigator.immediatelyResetRouteStack([{name: 'tweets'}]);
})
.catch((error) => {
this.setState({errorMessage: error.response.data.message});
});
}
我已經確保response.data.login._cxz
有一個值。 直到這裏工作。登錄將把我重定向到tweets
路線。
在我tweets.js:
constructor(props){
super(props);
this.state({token : ''});
}
componentWillMount() {
AsyncStorage.getItem('token', (err, value) => {
console.log(value);
})
}
我只是簡單的console.log
它來查看如果令牌沒有被保存。 但每次登錄完成(成功登錄都會顯示)。
任何解決方案:當進入我的微博,我總是得到這個錯誤?
謝謝。
好吧,這一切都有道理。我嘗試刪除我的'catch'及其所有正常工作,但是在我修復this.state = {token:''}'後。謝謝! – ssuhat