ホームページ > ウェブフロントエンド > jsチュートリアル > React Native Expo でローカル データを保存する方法

React Native Expo でローカル データを保存する方法

王林
リリース: 2024-07-22 13:47:54
オリジナル
630 人が閲覧しました

Methods of Storing Local Data in React Native Expo

ローカル データの保存は、多くのモバイル アプリケーションにとって基本的な要件です。 React Native Expo は、ローカル データ ストレージを効果的に処理するためのいくつかの方法を提供します。このブログでは、AsyncStorage、SecureStore、SQLite の 3 つの主要なソリューションを取り上げ、その機能、使用例、利点について説明します。

非同期ストレージ

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 は複雑なデータセットやリレーショナル データの処理に優れています。これらのオプションを理解すると、モバイル アプリケーションに効果的なデータ ストレージ戦略を実装するのに役立ちます。

以上がReact Native Expo でローカル データを保存する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート