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

React Native异常跳转问题:未触发指定onPress却跳转至登录页

问题分析与解决方案

你的问题出在**Post a review按钮的onPress属性逻辑上**:当用户未登录时,你直接执行了navigation.navigate(...)方法,而非将其包装为函数。这会导致组件渲染(即从列表详情页跳转到评论页)时,自动触发登录跳转,而非点击按钮时才触发。

修复代码

将按钮的onPress逻辑修改为函数形式:

<Button 
  onPress={userInfo.data
    ? () => setisModalVisible(true)
    : () => navigation.navigate(routes.LOGIN, { item: item })}
> 
  Post a review 
</Button>

修复原理

onPress需要接收一个函数引用,只有当按钮被点击时才会执行该函数。原写法中,未登录状态下直接调用navigation.navigate(...),会在组件挂载阶段立即执行跳转逻辑;包装成箭头函数后,只有点击按钮时才会触发跳转。

额外优化建议

  • 给userInfo.data增加可选链判断:userInfo?.data,避免userInfo为undefined时出现报错。
  • 将评论输入框的占位文字改为贴合场景的内容,比如"写下你的评价..."。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 10:48:12