📌  相关文章
📜  从异步存储中获取数据 react native - Javascript (1)

📅  最后修改于: 2023-12-03 15:36:18.161000             🧑  作者: Mango

从异步存储中获取数据 React Native

React Native提供了一种称为AsyncStorage的异步存储系统,它可用于在本地存储字符串。该系统非常类似于localStorage,但存储系统是异步的,这意味着您可以安全地在应用程序中进行长时间加塞操作,而不必担心阻塞UI线程。

1. 安装和导入AsyncStorage

在React Native中,AsyncStorage是作为React Native核心库的一部分提供的,因此无需在项目中安装它。您只需要导入它,就可以使用它了。您可以按照以下方式导入它:

import { AsyncStorage } from 'react-native';
2. 使用AsyncStorage存储数据

您可以使用setItem(key,value)方法将数据键值对存储在AsyncStorage中。 key和value都必须是字符串。以下代码展示如何将数据保存到AsyncStorage中:

AsyncStorage.setItem('name', 'John Doe');

如果您需要将JavaScript对象或数组存储在AsyncStorage中,可以使用JSON.stringify将其转换为JSON字符串,如下所示:

let myObj = { name: 'John Doe', age: 30 };
AsyncStorage.setItem('person', JSON.stringify(myObj));
3. 从AsyncStorage获取数据

您可以使用getItem(key)方法从AsyncStorage中获取存储的数据。 key必须是字符串。以下代码展示如何从AsyncStorage中获取数据:

AsyncStorage.getItem('name').then((value) => console.log(value));

回调将返回存储在AsyncStorage中的值。

如果您存储了JavaScript对象或数组,则必须使用JSON.parse将其转换回对象或数组,如下所示:

AsyncStorage.getItem('person').then((value) => {
    let myObj = JSON.parse(value);
    console.log(myObj.name);
});
4. AsyncStorage错误处理

在读取或写入AsyncStorage时,可能会发生错误。例如,如果尝试读取不存在的键,则会返回null。您可以使用try-catch块捕获错误或使用Promise.catch方法,如下所示:

try {
    AsyncStorage.getItem('nonexistent_key').then((value) => {
        console.log(value);
    });
} catch (error) {
    console.log(error.message);
}

AsyncStorage.getItem('nonexistent_key').then((value) => console.log(value))
    .catch((error) => console.log(error.message));
5. AsyncStorage清除数据

要清除AsyncStorage中存储的数据,可以使用clear()方法,如下所示:

AsyncStorage.clear();

这会清除AsyncStorage中存储的所有数据。如果您想要仅删除一个键,请使用removeItem(key)方法,如下所示:

AsyncStorage.removeItem('person');

这会从AsyncStorage中删除指定键的数据。

以上就是从异步存储中获取数据的全部过程。异步存储是一个非常有用和强大的工具,用于保存应用程序状态和其他重要数据。