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

如何在expo-router中通过通知引导用户跳转至指定页面?

Expo Router 点击通知跳转特定页面配置说明

必要的特定设置

  • 确保项目已正确集成 Expo Router v2 及以上版本,app 目录下的目标跳转页面已存在,路由结构配置完整。
  • 在 app.json 中配置基础通知展示参数(保证通知能正常显示):
{
  "expo": {
    "notification": {
      "icon": "./assets/notification-icon.png",
      "color": "#2196F3"
    }
  }
}
  • 无需额外安装依赖,Expo Router 已内置通知跳转处理逻辑,但要避免自定义代码覆盖默认的通知响应监听。

通知格式/数据要求

无论本地通知还是推送通知,必须在通知内容的 data 字段中指定 url 属性,值为 Expo Router 的相对路由路径(以 / 开头,对应 app 目录下的页面路径)。

推送通知(Expo Push API)Payload 示例

{
  "to": "你的 Expo 推送令牌",
  "title": "新消息提醒",
  "body": "收到一条新评论",
  "data": {
    "url": "/comments/123"
  }
}

本地通知(expo-notifications)示例

import * as Notifications from 'expo-notifications';

async function sendLocalNotification() {
  await Notifications.scheduleNotificationAsync({
    content: {
      title: "订单更新",
      body: "你的订单已发货",
      data: {
        url: "/orders/456"
      }
    },
    trigger: { seconds: 3 }
  });
}

注意事项

  • 动态路由参数(如 [id])可直接写入 url,Expo Router 会自动解析并跳转至对应页面。
  • App 处于前台时,点击通知也会触发路由跳转;若自定义了 Notifications.addNotificationResponseReceivedListener,需避免覆盖 Expo Router 的默认处理逻辑。
  • 测试时优先验证 App 在后台或关闭状态下的跳转效果,部分平台前台通知的交互逻辑略有差异。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 05:58:12