"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > React Native Expo에 로컬 데이터를 저장하는 방법

React Native Expo에 로컬 데이터를 저장하는 방법

2024-08-06에 게시됨
검색:748

Methods of Storing Local Data in React Native Expo

로컬 데이터 저장은 많은 모바일 애플리케이션의 기본 요구 사항입니다. React Native Expo는 로컬 데이터 저장소를 효과적으로 처리하는 여러 가지 방법을 제공합니다. 이 블로그에서는 AsyncStorage, SecureStore 및 SQLite의 세 가지 기본 솔루션을 살펴보고 해당 기능, 사용 사례 및 이점에 대해 논의합니다.

비동기스토리지

AsyncStorage는 암호화되지 않은 간단한 비동기 키-값 저장 시스템입니다. 사용하기 쉽고 사용자 기본 설정 및 설정과 같이 앱 실행 시 지속되어야 하는 소량의 데이터를 저장하는 데 적합합니다.

특징:

  • 비동기 작업
  • 영구 저장소
  • 간단한 API

사용 사례:

  • 사용자 기본 설정 및 설정 저장
  • 작은 데이터 조각 캐싱
  • 민감하지 않은 정보 저장

예:

AsyncStorage를 사용하여 데이터를 저장하려면 setItem 메서드를 사용할 수 있습니다.

import AsyncStorage from '@react-native-async-storage/async-storage';

const storeData = async (key, value) => {
  try {
    await AsyncStorage.setItem(key, value);
    console.log('Data stored successfully');
  } catch (error) {
    console.error('Error storing data', error);
  }
};

보안스토어

SecureStore는 인증 토큰 및 사용자 자격 증명과 같은 민감한 데이터를 안전하게 저장할 수 있는 방법을 제공합니다. iOS 키체인 및 Android 키스토어와 같은 기기의 보안 저장 메커니즘을 활용하여 높은 보안을 보장합니다.

특징:

  • 암호화를 통한 높은 보안
  • 플랫폼별 보안 저장소
  • 비동기 작업

사용 사례:

  • 인증 토큰 저장
  • 사용자 자격 증명 저장
  • 민감한 구성 설정 유지

예:

SecureStore를 사용하여 데이터를 안전하게 저장하려면 setItemAsync 메서드를 사용할 수 있습니다.

import * as SecureStore from 'expo-secure-store';

const storeSecureData = async (key, value) => {
  try {
    await SecureStore.setItemAsync(key, value);
    console.log('Data stored securely');
  } catch (error) {
    console.error('Error storing secure data', error);
  }
};

SQLite

SQLite는 대규모 데이터 세트와 복잡한 데이터 관계를 처리하는 데 적합한 강력한 내장형 SQL 데이터베이스 엔진입니다. SQL 쿼리를 지원하고 강력한 데이터베이스 관리 기능을 제공합니다.

특징:

  • 복잡한 쿼리 및 관계형 데이터 지원
  • 대규모 데이터세트를 위한 효율적인 스토리지
  • 지속성과 신뢰성

사용 사례:

  • 대규모 데이터 세트 관리
  • 오프라인 우선 애플리케이션
  • 고급 쿼리 기능이 필요한 앱

예:

SQLite를 사용하여 테이블을 만들고 데이터를 삽입하려면 다음과 같이 ExecuteSql 메서드를 사용할 수 있습니다.

import * as SQLite from 'expo-sqlite';

const db = SQLite.openDatabase('myDatabase.db');

const createTable = () => {
  db.transaction(tx => {
    tx.executeSql(
      'CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY NOT NULL, name TEXT, age INTEGER);'
    );
  });
};

const insertData = (name, age) => {
  db.transaction(tx => {
    tx.executeSql(
      'INSERT INTO users (name, age) values (?, ?)',
      [name, age],
      (txObj, resultSet) => console.log('Data inserted', resultSet),
      (txObj, error) => console.error('Error inserting data', error)
    );
  });
};

React Native Expo에서 올바른 로컬 스토리지 솔루션을 선택하는 것은 특정 요구 사항에 따라 다릅니다. AsyncStorage는 간단한 키-값 저장에 적합하고, SecureStore는 보안 데이터 저장에 이상적이며, SQLite는 복잡한 데이터 세트 및 관계형 데이터를 처리하는 데 탁월합니다. 이러한 옵션을 이해하면 모바일 애플리케이션에서 효과적인 데이터 저장 전략을 구현하는 데 도움이 됩니다.

릴리스 선언문 이 기사는 https://dev.to/snehasishkonger/methods-of-storing-local-data-in-react-native-expo-mc0?1에 복제되어 있습니다. 침해가 있는 경우, [email protected]으로 문의하시기 바랍니다. 그것을 삭제하려면
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3