React Native文档(https://facebook.github.io/react-native/docs/asyncstorage.html)说:
建议您在AsyncStorage之上使用抽象而不是AsyncStorage直接用于除了轻量级用途以外的任何抽象,因为它全局运行.
我不明白为什么它建议我写一个抽象只是因为它在全球运作.
将它用于轻物品是有道理的,但为什么全球经营都是坏事呢?
Tom*_*ers 16
想想AsyncStorage全局变量之类的项目,所以每次添加内容或阅读某些内容时,您都会访问全局变量.这可能对像API基本URL这样的东西有意义,但对于大多数其他东西,它会开始变得混乱.
想象一下,您需要存储有关用户的信息,您可以合理地从他们的名字开始,以便添加name到Async.后来你意识到你想要他们DOB,然后也许他们pets等等.如果你在全局创建它们,你也将使用变量名来访问它们,例如name- 在全局上下文中它们开始失去意义.此外,你必须写:
AsyncStorage.getItem('name', (err, result) => {
this.setState({
name: result
})
})
Run Code Online (Sandbox Code Playgroud)
整个项目 - 将来如果变量名称name发生变化,您将不得不在所有文件中更新它.
相反,你最好编写一个User类,它将提供实例变量(或某些类似的),然后可以将自己序列化为异步.此外,如果项目后来由API支持,或者需要更强大的数据库样式存储系统,则可以轻松地交换存储机制.
| 归档时间: |
|
| 查看次数: |
2060 次 |
| 最近记录: |