我正在使用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可以使用asyncawait从AsyncStorage访问值。

async componentDidMount(){
    let token = await AsyncStorage.getItem('token');
    console.log(token);
}

关于javascript - react native 中的AsyncStorage.getItem无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52945727/

10-09 23:24