我使用React Native创建了一个视频编辑器。我需要选择一种方法来本地保存用户的所有项目。每个项目都有一个视频文件、缩略图(图像(及其当前Redux状态。
我的第一个想法是使用RNFS将所有内容保存在文件中。每个项目的文件夹都有一个视频文件、缩略图文件夹和一个state.txt文件,其中包含我的应用程序的当前状态(选择的当前文本大小、背景颜色等(
我需要像SQLITE这样的数据库吗?还是应该将所有内容都保存在文件中?我知道我将不得不使用RNFS的二进制数据,如视频和图像。但是state.txt文件呢?这是个好主意吗?每个用户都有自己的本地数据库的想法听起来很奇怪
您的Redux状态仅代表本地状态。看看https://github.com/rt2zz/redux-persist
这允许您序列化Redux State并使用您提供的任何存储进行保存,但您可以在react本机应用程序中使用asyncStorage。
您对视频等使用RNFS是正确的。对于state.txt中的元数据,在我看来,最好使用异步存储或其他离线存储选项(如Realm(
查询它将比从文件中读取更具性能。