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

Next.js中出现path.startsWith is not a function错误求助

解决Next.js中router.push的path.startsWith is not a function错误

问题原因

你使用的是Next.js App Router的useRouter(导入自next/navigation),该版本的router.push仅支持传入字符串类型的路径,不接受对象格式参数。代码中传入的对象被当作路径处理,导致调用path.startsWith时触发类型错误。

修复方案

直接将金额参数拼接成字符串路径传入router.push即可:

import { useRouter } from 'next/navigation'

const checkoutHandler = ()=>{
  router.push(`/checkout/${customAmount}`)
}

<div className="continue-btn" onClick={checkoutHandler}>
   Continue
</div>

补充说明

如果是Next.js Pages Router的useRouter(导入自next/router),才支持传入包含pathname和query的对象参数,但App Router的导航API已调整为仅支持字符串路径或标准URL对象。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 07:51:58