正在使用 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