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

React Native跨屏幕传参问题:第二屏传第三屏报错如何解决

React Native 跨屏传参:第二到第三屏参数未定义问题排查

你用的传参方法本身是正确的,出现「参数未定义」错误大概率是链路中的细节问题,而非方法本身。以下是常见排查点:

  • 第二屏未正确接收第一屏参数
    先确认第二屏确实拿到了第一屏传递的参数。比如在第二屏打印route.params,如果这里就是undefined,那传递给第三屏的自然也是空值。可能是第一屏跳转时键名拼写错误,或者第二屏解构时变量名不匹配。

  • 第二屏跳转第三屏时参数传递错误
    检查第二屏跳转代码的参数键名是否和第三屏接收的一致。比如第二屏传{ userInfo: userData },第三屏却解构const { userData } = route.params,这就会导致未定义。

  • 第三屏未做容错处理
    如果route.params本身为undefined(比如第三屏可能被直接跳转,而非从第二屏进入),直接解构会报错。建议添加默认值:

    const { targetVar } = route.params || {};
    
  • 导航栈配置错误
    确认第三屏在导航栈中的名称和navigation.navigate中使用的完全一致,名称大小写、拼写错误都会导致跳转到错误页面,进而拿不到参数。

举个正确的完整流程示例:
第一屏跳转代码:

navigation.navigate('SecondScreen', { productId: '1001' });

第二屏接收并传递:

const { productId } = route.params;
// 跳转第三屏时确保参数正确传递
navigation.navigate('ThirdScreen', { productId });

第三屏接收:

const { productId } = route.params || {};

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 07:51:12