You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native Expo应用仅Testflight导航传参时崩溃排查

Expo Testflight包react-navigation跳转传字符串参数崩溃问题

问题基本情况

使用Expo开发React Native应用时,遇到仅在Apple Testflight安装包复现、Expo开发服务器运行时完全正常的崩溃问题:

  • 应用内待办事项(ToDo)数据存储在Firebase数据库中,新建待办时数据库会自动生成随机字符串类型的文档ID
  • 崩溃触发点为npm包react-navigation提供的navigation.navigate()页面跳转方法:该方法接收页面名称字符串作为首个入参,支持传入额外的跳转参数

复现差异

  1. 无崩溃场景:跳转至ToDoDetailScreen页面并传入参数{ todoId: 0 }(对应新建空待办的场景)时,Expo开发模式和Testflight环境均运行正常,对应代码如下:
<ButtonC onPress={() => { navigation.navigate(PR_TODO_DETAIL_SCREEN, { todoId: 0 }) }} />
  1. 崩溃场景:传入Firebase生成的已有待办字符串ID(例如"2issHSpPo1IQtAElg6w5",对应查看已有待办的场景)时,Expo开发服务器运行完全正常,Testflight环境会直接触发崩溃,对应调用代码如下:
<Button onPress={() => { navigation.navigate(PR_TODO_DETAIL_SCREEN, { todoId: item.id }) }}/> 

注:两处代码使用不同Button组件为预期写法,开发环境下两种调用均可正常执行,并非问题诱因。

项目配置信息

页面对应的名称常量定义如下:

export const PR_TODO_DETAIL_SCREEN = 'ToDoDetailScreen';

开发基于Windows系统完成,未使用XCode,无法直接解析Testflight导出的崩溃日志,已获取完整crashlog.crash文件可用于排查。
当前项目核心依赖版本信息如下:

  • react-native-cli: 2.0.1
  • react-native: 0.64.3
  • expo: 5.4.3
  • react-navigation: 7.21.0

求助方向

是否有开发者遇到过同类问题,或可提供进一步的问题排查思路与解决方案?

内容的提问来源于stack exchange,提问作者Janosch

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.03 08:31:21