gpt4 book ai didi

javascript - 使用 nextjs 在同一页面上链接页面

转载 作者:行者123 更新时间:2023-11-30 19:52:12 25 4
gpt4 key购买 nike

大家好,我需要有关 nextjs 中页面链接的帮助。其实我知道如何链接,但我想要的是: 我的主页在导航栏中有类(class)团队联系链接,所以当我单击类(class)时,类(class)页面将打开 url“localhost:3000/course”,并且在该类(class)页面中我有类(class)。我希望通过单击类(class)页面中的任何类(class),它应该打开并且 url 应该是“localhost:3000/course/course_1”。

我该怎么办?

这是标题组件:

  const Header = () => (
<div>
<nav className="navbar navbar-expand-lg navbar-dark" >
<Logo />
<button className="navbar-toggler" type="button" data-target="#navigation">
<span className="navbar-toggler-icon"></span>
</button>
<div className="collapse navbar-collapse">
<ul className="navbar-nav">
<li>
<a href="/" className="nav-link" >Home</a>
</li>
<li>
<a href="/team" className="nav-link" >Team</a>
</li>

<li>
<a href="/courses" className="nav-link" >Course</a>
</li>

<li >
<a href="/contact" className="nav-link" >Contact</a>
</li>
</ul>
<form className="form-inline my-2 my-lg-0">
<div className="d-flex justify-content-center h-100">
<div className="searchbar">
<input className="search_input text-center" type="text" name="" placeholder="Search..." />
<a href="#" className="search_icon"><i className="fas fa-search"></i></a>
</div>
</div>
</form>
</div>
</nav>

这是类(class):

  const Course = () => (
<div>
<div className="col-xs-12 col-sm-4">
<div className="card">

<a className="img-card img-part-2" href="#">
<img src="/static/course1-img.jpg" />
</a>
<div className="teacher-img">
<div className="ava">
<img alt="Admin bar avatar" src="http://ivy-school.thimpress.com/demo-3/wp-content/uploads/learn-press-profile/5/2448c53ace919662a2b977d2be3a47c5.jpg" className="avatar avatar-68 photo" height="68" width="68" />
</div>
</div>
<div className="card-content">
<p className="card-para">Charlie Brown </p>
<h4 className="card-title">
<a href="/Pyhton">
Learn Python – Interactive <br/> Python
</a>
</h4>
<div className="info-course">
<span className="icon1&-txt">
<i className="fas fa-user"></i>
&nbsp;&nbsp;3549
</span>

<span className="icon2&-txt">
<i className="fas fa-tags"></i>
&nbsp;&nbsp;education
</span>

<span className="icon3&-txt">
<i className="fas fa-star"></i>
&nbsp;&nbsp;0
</span>
</div>
</div>
</div>
</div>

最佳答案

你可以这样尝试:

server.js

const express = require('express')
const next = require('next')

const port = parseInt(process.env.PORT, 10) || 3000
const dev = process.env.NODE_ENV !== 'production'
const app = next({ dev })
const handle = app.getRequestHandler()

app.prepare().then(() => {
const server = express()

server.get('/course', (req, res) => {
return app.render(req, res, '/courses')
})

server.get('/course/:id', (req, res) => {
return app.render(req, res, '/course', { id: req.params.id })
})

server.get('*', (req, res) => {
return handle(req, res)
})

server.listen(port, err => {
if (err) throw err
console.log(`> Ready on http://localhost:${port}`)
})
})

course.js

import React, { Component } from 'react'

export default class extends Component {
static getInitialProps ({ query: { id } }) {
return { courseId: id }
}

render () {
return (
<div>
<h1>Course {this.props.courseId}</h1>
</div>
)
}
}

类(class).js 从 'react' 导入 React, { Component }

export default class extends Component {
render () {
return (
<div>
<a href="/course/python">
Learn Python – Interactive <br/> Python
</a>
<a href="/course/javascript">
Learn Javascript – Interactive <br/> Javascript
</a>
</div>
)
}
}

关于javascript - 使用 nextjs 在同一页面上链接页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54364178/

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