十三、react-router 4.x的基本配置
路由的定义及作用
根组件根据客户端不同的请求网址显示时,要卸载上一个组件,再挂载下一个组件,如果手动操作话将是一个巨大麻烦。具体过程如下图:
【根组件】
↑
【首页组件】 【新闻组件】 【商品组件】
【react-router】可以让根组件动态的去挂载不同的其他组件。(根据用户访问的地址动态的加载不同的组件)
一、路由使用步骤
【官网文档入口】:https://github.com/ReactTraining/react-router
1.react路由的配置:
1、找到官方文档
https://reacttraining.com/react-router/web/example/basic
2、安装
cnpm install react-router-dom --save
3、找到项目的根组件引入react-router-dom
import { BrowserRouter as Router, Route, Link } from "react-router-dom";
4、复制官网文档根组件里面的内容进行修改 (加载的组件要提前引入)
注:exact表示严格匹配,不加的话,点新闻时,还是会把首页也加载进来
<Router>
<Link to="/">首页</Link>
<Link to="/news">新闻</Link>
<Link to="/product">商品</Link>
<Route exact path="/" component={Home} />
<Route path="/news" component={News} />
<Route path="/product" component={Product} />
</Router>
二、路由的实例
【src/App.js】-- 路由配置都在此处
import React from 'react';
import './App.css';
import { BrowserRouter as Router, Route, Link } from 'react-router-dom'; //首先要引入路由模块
import Home from './components/Home';
import News from './components/News';
import Product from './components/Product';
function App() {
return (
<Router>
<div>
<header className="title">
<Link to="/">首页</Link> |
<Link to="/news">新闻</Link> |
<Link to="/product">商品</Link> |
</header>
<br /><hr />
<Route exact path="/" component={Home} />
<Route path="/news" component={News} />
<Route path="/product" component={Product} />
</div>
</Router>
);
}
export default App;
【src/components/Home.js】
import React, { Component } from 'react';
class Home extends Component {
constructor(props){
super(props);
this.state = { };
}
render() {
return (
<div>
我是首页组件
</div>
);
}
}
export default Home;
【src/components/News.js】
import React, { Component } from 'react';
class News extends Component {
constructor(props) {
super(props);
this.state = { };
}
render() {
return (
<div>
我是新闻组件
</div>
);
}
}
export default News;
【src/components/Product.js】
import React, { Component } from 'react';
class Product extends Component {
constructor(props) {
super(props);
this.state = { };
}
render() {
return (
<div>
我是商品组件
</div>
);
}
}
export default Product;
【效果】:点上面导航,下面内容自动切换(自动卸载前一个组件,加载新组件)
分类:
React
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现