3 next.js
我定义了很多路由,其中一条路由专用于用户配置文件。
每个用户都有一个可通过 HTTP://example.com/@username 访问的公共配置文件。
我尝试过创建文件pages/@[username].js
,但似乎不起作用。
有没有办法在不通过用户名传递@符号的情况下实现这种行为,因为这会使index.js处理主页变得非常复杂,我希望将该代码分开。
Fer*_*ojo 11
你现在可以这样做next.config.js
module.exports = {
async rewrites() {
return [
{
source: '/@:username',
destination: '/users/:username'
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
这将使任何链接都可以/@username
转到该/users/[username]
文件,即使地址栏将显示/@username
。
然后,在您的/pages/[username].tsx
文件中:
import { useRouter } from 'next/router'
export default function UserPage() {
const { query = {} } = useRouter()
return <div>User name is {query.username || 'missing'}</div>
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5056 次 |
最近记录: |