バックエンド初心者でも手軽に使えるデータベース操作ツールとして定評がある
realmですが、javascriptでありながらネイティブの機能を扱うreact-nativeでも
使うことができます。使い方はこちら↓
npm i realmでrealmをインストール
import Realm from "realm";
スキーマのテンプレ(入れ物)を追加します。
const TaskSchema = {
name: "Task",
properties: {
_id: "int",
name: "string",
status: "string?",
},
primaryKey: "_id",
};
useEffectにrealmの機能が入った関数を追加。
useEffect(() => {
apply();
}, [])
apply関数の中身はこんな感じ。realm.Openの中で先ほど追加したTaskSchemaを
スキーマオブジェクトとして持ちます。
そのあとrealm.writeでTaskSchemaの中身に倣って_id、name、statusの中に
任意の数字・文字列を入力します。
Realm.Openで
async function apply(){
let task1;
try{
const realm = await Realm.open({
path: "myrealm",
schema: [TaskSchema],
});
realm.write(() => {
task1 = realm.create("Task", {
_id: 31,
name: "go grocery shopping",
status: "Open",
});
});
}catch(error){
console.log('エラー' + error.message);
}
console.log(task1)
}
try/catchを抜けたあたりでconsole.logでtake1の中身を確認すると
以下のようになります。
LOG {“_id”: 31, “name”: “go grocery shopping”, “status”: “Open”}
try/catchの中でconsole.log(task1)をするとエラーが起きるので注意してください。