8

AsyncStorage でアイテムのリストを保存したい。リストは随時更新されます。

リストの状態の例を次に示します。

[
  { 
    name: "Alice", 
    email: "alice@example.com"
  }, 
  {
    name: "Bob", 
    email: "bob@example.com", 
    address: "30 Madison Ave., NY"
  }
]

現在、このリストを保存するには 2 つのオプションがあるようです。

  1. 各連絡先を独自のキーの下に保存する
  2. リスト全体を 1 つのキーの下に格納する

どちらのアプローチにも利点があります - React Native で何が好まれるのでしょうか?

4

3 に答える 3

8

これは、データの使用方法、アクセス方法、および更新方法に依存すると思います。いずれかのケースを簡単にするために使用できる asyncstorage メソッドがいくつかあります。

多くのキー ルートを使用する場合は、 multiSetmultiGetを参照してください。これにより、1 回の関数呼び出しで複数のキーを取得できます。getAllKeysは、「作成したすべてのキーを追跡する」手間を省き、Fredrick Motte が言及した両方の問題を解決します

1 回の呼び出しで多くのキーを更新するには、 mergeItemに似ていますが一度に複数のキーを同時に実行できる非常に強力なメソッドであるmultiMergeを確認してください。

つまり、実際にはどちらのルートにも進むことができます。データを複数のキーに分割する場合は、上記の方法に慣れるために少し時間を費やすだけでよいでしょう。

また、Relm に外観を与えるという David の提案は、あなたにとっても同様に価値があるかもしれません... あなたの必要に応じて.

于 2016-04-08T13:20:17.240 に答える
3

使いやすくするために、リスト全体を保存します。それ以降は、連絡先ごとに個別に作成したすべてのキーを追跡する必要はありません。それらの読み込み/保存が簡単になります (すべての連絡先をループするのではなく、関数呼び出しを 1 回行うだけです)。

しかし、これは主に個人的な好みです。2 つの方法のいずれにも実際の制約はありません。

于 2016-04-07T09:12:10.927 に答える