在React Native中,异步存储通常使用 AsyncStorage 模块来实现。AsyncStorage 提供了一个简单的键值对存储系统,用于在设备上异步地持久化存储数据。这对于保存用户偏好设置、认证令牌、缓存数据等是非常有用的。

以下是一些关于 AsyncStorage 的基本用法:

1. 导入 AsyncStorage 模块:
   import AsyncStorage from '@react-native-async-storage/async-storage';

   请确保你已经安装了 @react-native-async-storage/async-storage 包。

2. 存储数据:
   try {
     await AsyncStorage.setItem('@MyApp:username', 'JohnDoe');
   } catch (error) {
     console.error('Error saving data:', error);
   }

   在这个例子中,使用 setItem 方法将键值对存储到本地。第一个参数是键(key),以字符串形式表示,通常以应用程序的名称作为前缀,以避免键冲突。第二个参数是要存储的值。

3. 获取数据:
   try {
     const username = await AsyncStorage.getItem('@MyApp:username');
     console.log('Username:', username);
   } catch (error) {
     console.error('Error getting data:', error);
   }

   使用 getItem 方法通过键获取存储在本地的值。这是一个异步操作,你可以使用 async/await 或者 .then() 来处理结果。

4. 删除数据:
   try {
     await AsyncStorage.removeItem('@MyApp:username');
     console.log('Data removed successfully');
   } catch (error) {
     console.error('Error removing data:', error);
   }

   使用 removeItem 方法通过键删除存储的数据。

5. 获取所有键:
   try {
     const keys = await AsyncStorage.getAllKeys();
     console.log('All keys:', keys);
   } catch (error) {
     console.error('Error getting keys:', error);
   }

   使用 getAllKeys 方法获取所有存储在本地的键。

请注意,AsyncStorage 是一个异步操作,因此你通常需要使用 async/await 或者 .then() 来处理这些操作。由于存储是异步的,最好在适当的时机等待存储完成,以确保你的应用程序在操作存储数据时不会遇到问题。


转载请注明出处:http://www.zyzy.cn/article/detail/9488/React Native