我正在React Native使用异步存储实现登录/注册。在这里,当我成功登录/注册时。并导航到另一个页面并从上一个会话中存储的异步存储中获取信息。登录后,相同的user_id使用进入此页面,但不使用异步存储获取user_id。这是代码段。
async data() {
this.setState({loading:true});
let url = API.GAME;
cosnole.log(url);
const value = await AsyncStorage.getItem('user');
cosnole.log(url);
let user = JSON.parse(value);
let user_id = user.id;
cosnole.log(user_id);
let data = {
user_id:user_id,
};
cosnole.log(data);
问题在于,当我使用此方法并控制该函数时,收到错误消息说['user_id:undefined']。有时使用“ A” ID和“异步”登录将返回先前的登录ID“ B”。
我是在代码段签名后发布用户数据
AsyncStorage.setItem("userData", "game").then(response=>{
AsyncStorage.setItem('user_id',this.props.navigation.state.params.user_id).then(async (res)=>{
await AsyncStorage.setItem('firstLogin',"true");
let url = API.getprofile;
let data = {
user_id: this.props.navigation.state.params.user_id,
};
try{
let response = await fetch(
url,
{
method: 'POST',
headers: {'Accept': 'application/json', 'Content-Type': 'application/x-www-form-urlencoded'},
body: JSON.stringify(data)
}
);
let responseJson = await response.json();
if (responseJson.status === 1) {
this.state.user_data = responseJson.user;
AsyncStorage.setItem('user',JSON.stringify(responseJson.user)).then((result)=>{
this.Show_Custom_Alert(false);
this.props.navigation.navigate('app');
我该怎么办? 谢谢