React Native 0.70.3新架构下LottieAnimationView兼容与调用异常问询
LottieAnimationView在React Native新架构(Fabric)下的兼容问题及报错处理
核心问题
- LottieAnimationView目前未兼容Fabric架构
- 触发报错:
dispatchcommand调用时未传入surfacedId,Fabric环境下的dispatchcommand必须通过Fabric JSI API调用
环境详情
使用启用新架构的React Native 0.70.3,具体环境参数:
{ "npm": "8.19.2", "node": "14.17.6", "v8": "8.4.371.23-node.76", "uv": "1.41.0", "zlib": "1.2.11", "brotli": "1.0.9", "ares": "1.17.2", "modules": "83", "nghttp2": "1.42.0", "napi": "8", "llhttp": "2.1.3", "openssl": "1.1.1l", "cldr": "39.0", "icu": "69.1", "tz": "2021a", "unicode": "13.0" }
可行处理方案
- 临时回退旧架构:若业务无强依赖新架构需求,可关闭React Native新架构,继续使用LottieAnimationView原有功能
- 等待官方兼容更新:留意Lottie for React Native的版本发布,官方后续会推出适配Fabric架构的版本
- 自定义Fabric适配:若需保留新架构,可基于Fabric JSI API自行封装Lottie的命令调用逻辑,确保传入合法的
surfacedId参数
内容的提问来源于stack exchange,提问作者red-devil
相关产品推荐
相关产品推荐

