概要
ReactNative
とTypescript
のプロジェクトにローカルDBとしてRealm
をインストール・使用する際のメモ。
環境は以下の通り。
- node @10.15.0
- react-native @0.61.5
- typescript @3.5.3
インストール
node
のバージョンが10.X
系にする必要がある。
install --save realm
※react-native
のバージョンが0.59
以下の場合は要link
iOSの場合
要CocoaPods
cd ios
pod install
実装
importRealmfrom'realm'// スキーマ名constHOGE_SCHEMA_NAME:string='HOGE';// スキーマ定義constHOGE_SCHEMA:Realm.ObjectSchema={// スキーマ名name:HOGE_SCHEMA_NAME,// 主キー(省略可)primaryKey:'prop1',// プロパティproperties:{// 型のみ指定prop1:'int',// 型と初期値を指定prop2:{type:'string',default:'hoge'},}}// データIFinterfaceHoge{prop1:number,prop2:string,}// DB操作開始Realm.open({schema:[HOGE_SCHEMA]}).then((realm:Realm)=>{// write()でトランザクションを開始するrealm.write(()=>{// primaryKeyを指定しているならcreate()はupsertとして働かせることもできる(その場合は第3引数にtrue)を渡すrealm.create(HOGE_SCHEMA_NAME,{prop1:0,prop2:'test'});// 削除はdelete()もしくはdeleteAll()});// objects(schemaName : string)でデータを取得constdatas:Realm.Results<Hoge>=realm.objects(HOGE_SCHEMA_NAME);});