使用React Native AsyncStorage存储列表:许多键还是一个?

sdg*_*sdh 7 react-native asyncstorage

我想用AsyncStorage存储项目列表.该列表将随着时间的推移而更新.

以下是列表可以处于的状态示例:

[
  { 
    name: "Alice", 
    email: "alice@example.com"
  }, 
  {
    name: "Bob", 
    email: "bob@example.com", 
    address: "30 Madison Ave., NY"
  }
]
Run Code Online (Sandbox Code Playgroud)

现在,似乎有两个选项可用于存储此列表:

  1. 将每个联系人存储在自己的密钥下
  2. 将整个列表存储在一个键下

这两种方法都有优势 - React Native最喜欢什么?

Chr*_*man 7

我认为这取决于您计划如何使用,访问和更新数据.您可以使用几种异步存储方法来帮助使这两种情况更容易.

如果您决定使用多个键路径,请查看multiSetmultiGet,它允许您在单个函数调用中检索多个键.而getAllKeys将节省您的"养[和]跟踪您创建的所有键",同时解决由弗雷德里克莫特提到的问题的麻烦.

要在一次调用中更新多个键,请查看multiMerge,这是一个非常强大的方法,类似于mergeItem,但同时有多个键.

所以,你看到你真的可以去任何一条路线.如果您将数据分成多个键,那么您可能只想花一些时间熟悉我上面提到的方法.

大卫的建议让Relm看起来也可能对你有一些价值,再次......取决于你的需要.