gpt4 book ai didi

reactjs - 使用 nextjs 自定义路由?

转载 作者:行者123 更新时间:2023-12-03 13:23:53 24 4
gpt4 key购买 nike

我有一个检查路径名并对其进行操作的组件:

  const router = useRouter();
const path = router.pathname;//props.location.pathname;

const p = path.split('/').filter((s) => s !== "")
let submissionId = p[0] == 's' && p[1]
const submission = useQuery(SUBMISSION, {
variables: {
id: submissionId
},
skip: submissionId === false
})

这在 bog 标准 React 应用程序中工作正常,但 nextjs 重定向到 404。

有没有办法为 nextjs 设置模式来忽略不存在的路由并允许组件代码处理它?<​​/p>

最佳答案

我不确定我是否清楚地理解了您想要的内容,但是如果您不希望 Next.js 重定向到 404,则需要在 pages 文件夹中定义页面。但是,您可以使用 dynamic routes 制作可以完成您想要的操作的组件。

pages文件夹中创建一个名为[dynamic].js的文件:

import React from 'react'
import { useRouter } from 'next/router'

const Dynamic = () => {
const router = useRouter();
const { dynamic } = router.query;

return (
<div>
My dynamic page slug: {dynamic}
</div>
)
}

export default Dynamic

您可以像这样链接到它:

<Link href="/[dynamic]" as="/dynamic-page-slug">
<a>Link to my Dynamic Page</a>
</Link>

关于reactjs - 使用 nextjs 自定义路由?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57203341/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com