我的方法是,当我使用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
});
}
}
答案 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函数进行调用,因为它的返回承诺