如何在AsyncStrorage函数中设置变量值

时间:2020-02-03 07:34:34

标签: reactjs react-native

我的方法是,当我使用AsyncStorage.getItem('value')从另一个页面获取值时,我想将变量的值设置为从AsyncStorage函数获取的项。我的代码是:

import React, { Component } from "react";
import { AsyncStorage } from "react-native";
export default class B extends Component {

     static message=()=>{
        AsyncStorage.getItem('value').then((value) => {
            console.log(value) // i have got value in console but i dont know how to set it to variable
            });          
        }
  }

3 个答案:

答案 0 :(得分:0)

import React, { Component } from "react";
import { AsyncStorage } from "react-native";
export default class B extends Component {

     static message=async ()=>{
        return await AsyncStorage.getItem('value')
        }
  }

现在您可以使用消息获取值

答案 1 :(得分:0)

假设您有一个名为storeAsynData的变量,

import React, { Component } from "react";
import AsyncStorage from '@react-native-community/async-storage'; // please change this as asyncstorage as other has been deprecated read the docs once
export default class B extends Component {
constructor(props){
this.state={
storeAsynData:''
}
}
     static message=()=>{
        AsyncStorage.getItem('value').then((value) => {
            console.log(value) // i have got value in console but i dont know how to set it to variable
this.setState({storeAsynData:value});
            });          
        }
  }

希望有帮助

答案 2 :(得分:0)

使用如下功能:

import AsyncStorage from '@react-native-community/async-storage'

export const LOCAL_STORAGE_LABLES = { TOKEN: "TOKEN" }
class LocalStorage {
static storeToken = async token => {
await AsyncStorage.setItem(LOCAL_STORAGE_LABLES.TOKEN, token);
};
static getToken = async () => {
return await AsyncStorage.getItem(LOCAL_STORAGE_LABLES.TOKEN);
};
static clearToken = async () => {
return await AsyncStorage.removeItem(LOCAL_STORAGE_LABLES.TOKEN);
};
}
export { LocalStorage };

并在需要使用此功能的地方致电:

商店代币

LocalStorage.storeToken(token),

获取令牌

const _bootstrapAsync = async () => {
     const userToken = await LocalStorage.getToken();
  }



useEffect(() => {
_bootstrapAsync();
 });

注意:必须使用async和await函数进行调用,因为它的返回承诺

相关问题