我正在使用AsyncStorage.setItem
在服务器上设置数据,并尝试使用AsyncStorage.getItem
在另一个屏幕中访问该值。
1.我无法在token
中设置AsyncStorage
。
2.如何在异步存储中设置多个值,比如说我希望服务器响应中的user_id
与此token
一起设置?
onPressRegister(){
fetch('http://192.168.1.7:3000/users/registration',{
method:'POST',
headers:{
'Accept': 'applictaion/json',
'Content-Type': 'application/json',
},
body:JSON.stringify({
contact:this.state.contact,
password:this.state.password,
})
})
.then((response) => response.json())
.then((responseData) =>
{
this.setState({
signup: responseData
});
setTimeout(() => {
Actions.firstScreen();
}, 2300);
AsyncStorage.setItem('token' ,this.state.signup.token);
});
}
我这样来
componentDidMount(){
AsyncStorage.getItem('token').then((userid) =>{
this.setState({'userid': userid});
console.log(userid);
});
}
但是我看不到
console
内的结果什么也没有得到。 AsyncStorage.setItem
中是否有任何错误?此外,服务器响应如下所示{ error: 0,
data: 'User registered Successfully',
userData:
{ pwd: 'vgh',
phone_no: '5',
user_name: '',
status: 1,
date: 2018-10-23T09:23:53.671Z },
user_id: [ { user_id: 5 } ],
token: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9' }
我也想在
user_id
中设置AsyncStorage
。这个怎么做? 最佳答案
U可以使用async
和await
从AsyncStorage访问值。
async componentDidMount(){
let token = await AsyncStorage.getItem('token');
console.log(token);
}
关于javascript - react native 中的AsyncStorage.getItem无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52945727/