📜  React Native AsyncStorage 组件

📅  最后修改于: 2022-05-13 01:56:43.472000             🧑  作者: Mango

React Native AsyncStorage 组件

以下方法介绍了如何在 react-native 中使用 AsyncStorage。为此,我们将使用 AsyncStorage 组件。 AsyncStorage 是一个未加密的、异步的、持久的、键值对存储系统,对应用程序来说是全局的。

句法:

AsyncStorage.method();

AsyncStorage 中的方法:

  • getItem():它为一个键获取一个项目。
  • setItem():它为特定键设置一个项目。
  • removeItem():它为一个键删除一个项目。
  • mergeItem():它将现有的键值与输入值合并。
  • clear():它清除所有客户端、库等的所有 AsyncStorage。
  • getAllKeys():它将获取您的应用程序已知的所有密钥。
  • flushGetRequests():它使用单个批处理调用来刷新任何挂起的请求以获取数据。
  • multiGet():这允许您在给定键输入数组的情况下批量获取项目。
  • multiSet():它使用它作为一个批处理操作来存储多个键值对。
  • multiRemove():它从键数组中删除所有键。
  • multiMerge():它是一个批处理操作,用于合并给定键集的现有值和新值。

现在让我们从实现开始:

  • 第 1 步:打开终端并通过以下命令安装 expo-cli。

    npm install -g expo-cli
  • 第2步:现在通过以下命令创建一个项目。

    expo init myapp
  • 第 3 步:现在进入您的项目文件夹,即 myapp

    cd myapp

项目结构:它将如下所示。

对于 AsyncStorage,我们在 react-native 中有 AsyncStorage 组件,但该组件现在已弃用,因此我们将使用一个名为@react-native-async-storage/async-storage的外部包来代替它。使用以下命令安装该软件包。

npm install @react-native-async-storage/async-storage

示例:现在让我们实现 AsyncStorage。这里我们创建了两个按钮,第一个按钮设置值,第二个按钮获取值。

应用程序.js

App.js
import React , {useState} from 'react';
import { StyleSheet, Text, View , Button } from 'react-native';
import AsyncStorage from '@react-native-async-storage/async-storage';
export default function App() {
  const [data , setdata] = useState("");
  const add = async ()=>{
    try {
      await AsyncStorage.setItem('gfg', "GeeksforGeeks")
    }
    catch (e){
      console.error(e);
    }
  }
  
  const get = async () => {
    try {
      const value = await AsyncStorage.getItem('gfg')
      if(value !== null) {
          setdata(value);
      }
    }  catch (e){
      console.error(e);
    }
  }
  return (
    
        {data}
        
          


使用以下命令启动服务器。

npm run android

输出:如果你的模拟器没有自动打开,那么你需要手动打开。首先,去你的安卓工作室并运行模拟器。现在再次启动服务器。

参考: https://reactnative.dev/docs/asyncstorage