Tech

ReactNativeデータ永続化

投稿日:

はじめに

こんにちは、nukkyです。
今回はアプリとしてなくてはならないデータの永続化について書いていこうと思います。

データ永続化の方法

調べた所、React Nativeでデータを永続化する方法は色々あるみたいです。
例えば、React Native標準の仕組みにはAsyncStorageというものがあり、iOSとAndroidに両方対応しています。
他にも、Realm、SQLite、Couchbase、MongoDBといった選択肢があります。

今回はAsyncStorageとRealmを使ってみたいと思います。

AsyncStorage

早速使ってみようと公式に飛んだらDeprecatedになってました。。。
「Deprecated. Use react-native-community/react-native-async-storage instead.」
とのことなのでreact-native-async-storageを使ってみたいと思います!

react-native-async-storage

AsyncStorage(react-native-async-storage)は非同期の永続的な、key-valueストアです。

インストール

インストールしたいプロジェクトで以下のコマンドを実行します。

実装

まずはインポートします。

値を保存したいときは以下のコード、

上記の保存した値を読み込むときは以下のコードになります。

 

Realm

iOSやAndroidのネイティブ開発で採用される例が増えている、モバイルアプリケーション向けデータベースです。
Realmはデータベースであり、AsyncStorageとは仕組みが異なりますので、より複雑で速度の必要なデータの扱いはRealmの方が良いかもしれません。

今回の記事ではRealm JavaScript 2.29.0のコードになっています。

インストール

インストールしたいプロジェクトで以下のコマンドを実行します。

実装
公式のサンプルコードになります、Realmを扱うにはスキーマを定義する必要があります。
ネイティブ開発でRealmを使ったことがある人は、戸惑うことなくコードを書いていけそうです。

redux-persist

Reactにおけるデータの永続化といえばこれといった形で本などでも紹介されているのですが、
私がまだReduxを学習中であり、これを紹介するのはReduxの記事を書くときにしようと思ったので今回は触れていないです。
今後にご期待ください。。。

さいごに

iOSエンジニアの所感としてはAsyncStorageはUserDefaultsの様な使い方(状態のフラグ管理など)で、DBが必要な複雑なデータを扱わない場合やプロトタイプなどにはシンプルに使えそうですが、やはりDBは欲しくなると思うので使い慣れたRealmかなと行った所です。
そろそろReduxも記事にしたくなってきたのでより学習を進めて説明できる様になりたいと思います。

おすすめ書籍

React入門 React・Reduxの導入からサーバサイドレンダリングによるUXの向上まで (NEXT ONE)  React.js&Next.js超入門

blog-page_footer_336




blog-page_footer_336




-Tech
-,

執筆者:


comment

メールアドレスが公開されることはありません。

CAPTCHA


関連記事

[C#]Genericsの使い方をまとめてみた。その2

1 はじめに2 Genericsの構文3 型パラメーター4 制約条件5 規定値6 さいごに7 おすすめ書籍 はじめに こんにちはsuzukiです。ブログを書いているときAndroid10が発表され、ア ...

C# マルチキャストデリゲートの備忘録

1 はじめに2 C#のデリゲートについて2.1 デリゲートの定義3 マルチキャストデリゲートについて3.1 追加方法3.2 削除方法4 さいごに5 おすすめ書籍 はじめに こんにちはsuzukiです。 ...

【Unity】AnimationControllerの基本的な使い方

1 はじめに2 事前準備2.1 キャラクター2.2 アニメーション3 Sceneに追加と設定4 AnimationController5 使い方5.1 State5.2 Transition5.3 P ...

【iOS14】App Groups を使用して WidgetKit にデータ共有

1 はじめに2 App Groupsの準備2.1 App Groupsの許可2.2 App Groupsの使い方3 WidgetKitにデータ共有4 さいごに5 おすすめ書籍 はじめに 今回はアプリ側 ...

ReactNative入門

1 はじめに2 そもそもReact Nativeとは3 JSXとは3.1 JSXに値を埋め込む3.2 属性の値を設定する3.3 関数でJSXを作る4 コンポーネントとは4.1 再利用性4.2 新規コン ...

フォロー

follow us in feedly

blog-page_side_responsive

2019年7月
 123456
78910111213
14151617181920
21222324252627
28293031 

アプリ情報

私たちは無料アプリもリリースしています、ぜひご覧ください。 下記のアイコンから無料でダウンロードできます。