如何在Asyncstorage中设置多个值

时间:2018-10-24 07:35:37

标签: javascript json react-native asyncstorage

如何在Asyncstorge中设置多个值?因为我正在尝试设置tokenuser_id。这些是服务器响应值。 这就是响应的样子

json

{ error: 0,
  data: 'User registered Successfully',
  userData:
   { pwd: 'lmlmlm',
     phone_no: '9898989',
     user_name: '',
     status: 1,
     date: 2018-10-24T07:12:20.656Z },
  user_id: 60,
  token: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.' }

在响应本机后,我在用户注册后就这样写了。

.then((response) => response.json())
            .then((responseData) =>
            {
                console.log(responseData);
                 AsyncStorage.setItem('id_token', responseData.token),
                 AsyncStorage.setItem('user_id', responseData.user_id),
                    Actions.firstScreen();

                    });

在我的主页中,我以

的方式访问token中的user_idAsyncStorage
 AsyncStorage.getItem('id_token').then((usertoken) =>{
                this.setState({'id_token' : usertoken});
                console.log(usertoken);
            })
            AsyncStorage.getItem('user_id').then((uid) => {
              this.setState({'user_id': uid});
              console.log(uid);
            })

但是我只得到令牌,uid的控制台结果为null。但是当我控制台responseData时,我在其中包含值。请帮助我

2 个答案:

答案 0 :(得分:3)

请通过link

查看此文档

所以您可以这样使用:

  • 设置项目:

    AsyncStorage.multiSet([['k1', 'val1'], ['k2', 'val2']], () => { //to do something });

加油!

答案 1 :(得分:0)

var items = [['k1', 'val1'], ['k2', 'val2']]
AsyncStorage.setItem("KEY", JSON.stringify(items))