1) 理解: value是function, 用来处理客户端提交的请求。
2) 注册路由: router.get(path, function(req, res))
3) 工作过程:当node接收到一个请求时, 根据请求路径找到匹配的路由, 调用路由中的函数来处理请求, 返回响应数据
2. 前端路由:
1) 浏览器端路由,value是component,用于展示页面内容。
2) 注册路由: <Route path="/test" component={Test}>
3) 工作过程:当浏览器的path变为/test时, 当前路由组件就会变为Test组件
1.明确好界面中的导航区、展示区
2.导航区的a标签改为Link标签
<Link to="/xxxxx">Demo</Link>
3.展示区写Route标签进行路径的匹配
<Route path='/xxxx' component={Demo}/>
4.<App>的最外侧包裹了一个<BrowserRouter>或<HashRouter>
1.写法不同:
一般组件:<Demo/>
路由组件:<Route path="/demo" component={Demo}/>
2.存放位置不同:
一般组件:components
路由组件:pages
3.接收到的props不同:
一般组件:写组件标签时传递了什么,就能收到什么
路由组件:接收到三个固定的属性
history:
go: ƒ go(n)
goBack: ƒ goBack()
goForward: ƒ goForward()
push: ƒ push(path, state)
replace: ƒ replace(path, state)
location:
pathname: "/about"
search: ""
state: undefined
match:
params: {}
path: "/about"
url: "/about"
1.App.jsx
1 import React, { Component } from 'react'
2 import {Link,Route} from 'react-router-dom'
3 import Home from './components/Home'
4 import About from './components/About'
5
6 export default class App extends Component {
7 render() {
8 return (
9 <div>
10 <div className="row">
11 <div className="col-xs-offset-2 col-xs-8">
12 <div className="page-header"><h2>React Router Demo</h2></div>
13 </div>
14 </div>
15 <div className="row">
16 <div className="col-xs-2 col-xs-offset-2">
17 <div className="list-group">
18
19 {/* 原生html中,靠<a>跳转不同的页面 */}
20 {/* <a className="list-group-item" href="./about.html">About</a>
21 <a className="list-group-item active" href="./home.html">Home</a> */}
22
23 {/* 在React中靠路由链接实现切换组件--编写路由链接 */}
24 <Link className="list-group-item" to="/about">About</Link>
25 <Link className="list-group-item" to="/home">Home</Link>
26 </div>
27 </div>
28 <div className="col-xs-6">
29 <div className="panel">
30 <div className="panel-body">
31 {/* 注册路由 */}
32 <Route path="/about" component={About}/>
33 <Route path="/home" component={Home}/>
34 </div>
35 </div>
36 </div>
37 </div>
38 </div>
39 )
40 }
41 }
2.index.js
1 //引入react核心库
2 import React from 'react'
3 //引入ReactDOM
4 import ReactDOM from 'react-dom'
5 //
6 import {BrowserRouter} from 'react-router-dom'
7 //引入App
8 import App from './App'
9
10 ReactDOM.render(
11 <BrowserRouter>
12 <App/>
13 </BrowserRouter>,
14 document.getElementById('root')
15 )
3.Home.jsx
1 import React, { Component } from 'react'
2
3 export default class Home extends Component {
4 render() {
5 return (
6 <h3>我是Home的内容</h3>
7 )
8 }
9 }
4.About.jsx
1 import React, { Component } from 'react'
2
3 export default class About extends Component {
4 render() {
5 return (
6 <h3>我是About的内容</h3>
7 )
8 }
9 }
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有