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

TouchableOpacity跳转YouTube关联TMDB API视频key失效解决方案

问题根源

你代码里的核心错误是字符串包裹符号用错了:ES6模板字符串的${变量}插值语法,必须用反引号(即键盘Tab键上方、和~同键的`符号)包裹整个字符串才能生效。你当前用单引号包裹URL,`${details.key}`会被当成普通文本,不会替换成实际的视频key,最终拼接出的URL是无效的,自然无法正常跳转。

修复后的可用代码
<TouchableOpacity onPress={() => {
  // 注意URL整体用反引号包裹,不要用单/双引号
  const trailerUrl = `https://www.youtube.com/watch?v=${details.key}`;
  Linking.openURL(trailerUrl).catch(err => {
    console.error('预告片跳转失败', err);
    // 可在此处添加弹窗/Toast提示用户无法打开链接
  });
}}
>
  {/* 此处放你的按钮UI元素,比如播放图标、"观看预告片"文本 */}
</TouchableOpacity>
排查补充项

如果改完符号还是无法跳转,按以下点逐一校验:

  • 跳转前打印details.key的值,确认TMDB接口返回的key字段已经正常拿到,不存在undefined、null或者空值的情况。
  • iOS端需要在项目的Info.plist文件中配置LSApplicationQueriesSchemes白名单,添加youtube字段,否则系统会拦截跳转到YouTube的请求。
  • 安卓端确认AndroidManifest.xml中已经声明了网络权限<uses-permission android:name="android.permission.INTERNET" />。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 09:21:35