React Native项目realm-js从v6.1.0升级到v10.4.0相关问题咨询
升级realm-js注意事项说明
仅参考v10.0.0版本说明不足以完成升级
你从v6.1.0跨多个大版本升级到v10.4.0,仅查看v10.0.0的版本说明会遗漏v6到v10之间多个大版本的破坏性变更,以及v10.0.0到v10.4.0之间的小版本功能调整,建议覆盖所有中间版本的变更内容核对。
核心需要注意的变更点
- 依赖兼容要求:realm-js v10.x要求React Native版本>=0.60,默认支持自动链接。如果你的项目之前是0.60以下版本手动集成的realm-js,升级前需要先移除所有旧的手动链接配置,iOS端升级后执行
npx pod-install完成依赖集成。 - 废弃API调整
- 移除了
Realm.open的回调传参写法,必须统一使用Promise或async/await的异步写法调用 - 移除了
Realm.Object.isValid()方法,判断对象有效性替换为realm.isValid(待判断对象)的写法 - 模型定义不再支持动态设置主键,必须在Schema定义中显式声明
primaryKey属性 - 谓词查询的字符串语法规则有调整,包含特殊字符的模糊查询需要重新测试适配
- 移除了
- 数据迁移要求
跨大版本升级必须显式指定Schema版本号,v10.x修改了底层数据的默认存储编码,未配置迁移逻辑直接升级会导致旧本地数据无法读取,出现闪退报错。 - 同步功能适配
如果你使用了Realm的云端同步功能,v10.x完全重写了同步相关API,旧版本的Sync.User、同步配置相关的接口几乎全部调整,需要重新适配逻辑。
内容的提问来源于stack exchange,提问作者Lucaci Sergiu
相关产品推荐
相关产品推荐

