正在使用 AsyncStorage 解析 JSON 个对象
Parsing JSON object with AsyncStorage
我基本上是在尝试编写和读取一个简单的对象。
写作:
AsyncStorage.setItem('@Test', JSON.stringify(newStudent))
读:
console.log(JSON.parse(AsyncStorage.getItem('@Test')))
但是我收到“未捕获的语法错误:位置 1 的 JSON 中的意外标记 o”。
我也试过了
console.log(AsyncStorage.getItem('@Test').ID)
但是我得到“未定义”。
如何解析对象?
您可以通过两种方式从 AsyncStorage 获取信息
第一个:
const retriveData = async () => {
const value = await AsyncStorage.getItem("@Test");
return JSON.parse(value)
}
然后你可以简单地调用函数并捕获变量中的值
var test = retrieveData();
第二个:
如果你不想使用异步函数。
您可以创建一个存储的挂钩,它将存储变量的值,然后像这样更新值:
const [testValue, setTestValue] = useState(null);
AsyncStorage.getItem("@Test").then((value) => { setTestValue(value) });
确保以这种方式导入 AsyncStorage:
import {AsyncStorage} from "react-native";
而不是这样:
import AsyncStorage from "react-native";
如果您需要有关 AsyncStorage 的更多信息,请查看文档 here。
我基本上是在尝试编写和读取一个简单的对象。
写作:
AsyncStorage.setItem('@Test', JSON.stringify(newStudent))
读:
console.log(JSON.parse(AsyncStorage.getItem('@Test')))
但是我收到“未捕获的语法错误:位置 1 的 JSON 中的意外标记 o”。
我也试过了
console.log(AsyncStorage.getItem('@Test').ID)
但是我得到“未定义”。
如何解析对象?
您可以通过两种方式从 AsyncStorage 获取信息
第一个:
const retriveData = async () => {
const value = await AsyncStorage.getItem("@Test");
return JSON.parse(value)
}
然后你可以简单地调用函数并捕获变量中的值
var test = retrieveData();
第二个:
如果你不想使用异步函数。 您可以创建一个存储的挂钩,它将存储变量的值,然后像这样更新值:
const [testValue, setTestValue] = useState(null);
AsyncStorage.getItem("@Test").then((value) => { setTestValue(value) });
确保以这种方式导入 AsyncStorage:
import {AsyncStorage} from "react-native";
而不是这样:
import AsyncStorage from "react-native";
如果您需要有关 AsyncStorage 的更多信息,请查看文档 here。