问题描述
我使用的一个第三方库需要提供storage(customStorage),刚好赶上我调整storage组件。
我最初的方案使用的react-native-storage包裹的react-native-async-storage。
我把customStorage独立成一个单独的文件,并且去掉了react-native-storage。
导致第三方库在初始化的时候直接抛出了异常。
问题定位
通过卸载app(本质上是在清理缓存)或者清理缓存可以解决第三方库初始化失败的问题。于是就定位到了缓存问题。
经过对日志的仔细观察,也观察到了有一个filter报错了。发现是数据类型不匹配,期望数组,但是拿到了对象。
问题原因
react-native-storage 在存储的时候会包裹一层rowData。我把react-native-storage 去掉之后,直接使用react-native-async-storage读,取到的是key为rowData的对象。