React Native 异步存储 | 行太大,无法放入 CursorWindow

Muj*_*aFR 5 sqlite react-native asyncstorage

AsyncStorage在 ReactNative 中使用在设备上存储一些数据(大尺​​寸> 2MB),然后使用以下代码读取它

try {
   const value = await AsyncStorage.getItem('date_stored_copy');
} catch (e) {
   console.log(e);
}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

行太大,无法放入 CursorWindow requiredPos=0,totalRows=1...

有没有办法增加 CursorWindow 的大小,或者 AsyncStorage 的其他替代方案?

Muj*_*aFR 0

我找到了这里提到的另一个替代方案

只需安装react-native-fs-store

npm i react-native-fs react-native-fs-store

react-native link react-native-fs
Run Code Online (Sandbox Code Playgroud)

并像这样使用它:

import Store from "react-native-fs-store";
const AsyncStorage = new Store('store1');
Run Code Online (Sandbox Code Playgroud)

它具有与 AsyncStorage 完全相同的 API,因此无需更改代码

** 请注意,它react-native-fs-store比 慢AsyncStorage,因为每个操作都会同步到文件。因此,您在读取/写入数据时可能会注意到滞后(屏幕无响应)