javascript - Next.js 中的动态页面不会链接回普通页面
问题描述
我有一个用 next.js 创建的网站,它有一个部分是动态路由存储在一个pages/artists/[slug].js
很棒的文件夹中,我必须让整个动态路由工作得很好。
当我单击导航栏以返回标准页面(即主页、关于或联系人)时,问题就出现了。
应该链接到哪里,/contact
或者/about
它最终链接到/artists/contact
或/artists/about
我应该如何解决这个问题?我似乎无法在网上找到有关此问题的任何信息。
谢谢
编辑:导航组件的代码
import {useState} from 'react'
import Link from 'next/link'
import config from '../../config'
export default function Menu() {
const [menu, setMenu] = useState(false);
const menuToggle = () => {
setMenu(!menu),
[menu, setMenu]
}
return (
<>
<a id="menubtn" onClick={menuToggle}>
<svg width="40" height="40">
<rect width="40" height="3" x="0" y="12"/>
<rect width="40" height="3" x="0" y="24"/>
</svg>
</a>
<nav id="menu">
<a id="close" onClick={menuToggle}>×</a>
<ul>
{config.navigation.map((link) => (
<li key={link}>
<Link href={link}>
<a onClick={menuToggle}>{link.charAt(0).toUpperCase() + link.slice(1)}</a>
</Link>
</li>
))}
</ul>
</nav>
)}
解决方案
发送后我仔细查看了代码,发现<Link>
href看起来像这样
<Link href={link}>
<a onClick={menuToggle}> {link.charAt(0).toUpperCase() + link.slice(1)}</a>
</Link>
存在的问题是路由器将浏览器带到了about
不/about
,这显然会导致动态页面出现问题。
我将代码更新为此修复了它
<Link href={`/${link}`}>
<a onClick={menuToggle}>{link.charAt(0).toUpperCase() + link.slice(1)}</a>
</Link>
推荐阅读
- kubernetes - 未找到豆荚“kubernetes-dashboard-7ffd448895-56tlr”
- git - 如何使用 InteliJ 设置存储库
- python - 如何将芹菜任务中的任务添加到主进程循环:django
- ruby - 使用 rvm install 2.6.1 安装 ruby 时出现问题
- sql - 如何编写一个 BigQuery 查询来生成唯一事务的计数和填充的列名组合
- android - Android - 无法重新加载/刷新片段
- c# - 如何使用 C# 读取 Slither IO websocket 二进制数据
- python - 从 HTML 修改 Django 数据时出错
- javascript - Javascript未重定向到URL
- reactjs - 为什么我的 react/redux 函数没有重新渲染从 json 文件中获取的数据?