react-router路由跳转,react-router5.x 的配置及其页面跳转方法和js跳转方法

https://blog.csdn.net/sinat_37255207/article/details/90745207

上次用react-router 的时候  还是3.x 很久不用 已经到react-router5.x 了  

废话不多说 上代码

配置

react: ^16.8.6,

react-dom: ^16.8.6,

react-router: ^5.0.0,

react-router-dom: ^5.0.0,

路由配置

用HashRouter还是BrowserRouter 自己来定 两者区别 两种路由的区别

复制代码
import { HashRouter,BrowserRouter, Route, Link, Switch } from "react-router-dom";
 
....
//用HashRouter还是BrowserRouter 自己来定
<BrowserRouter>
          <Link to="/a" style={{color:'black'}}>
              <div>点击跳转到a</div>
              </Link>
              <Link to="/b" style={{color:'black'}}>
              <div>点击跳转到b</div>
              </Link>
              <Switch>
                <Route exact path='/' component={App1}/>
                
                <Route path='/a' component={App1}/>
                <Route path='/b' component={App2}/>
          <Switch/>
        </BrowserRouter> ....
复制代码

 

路由组件 js路由跳转

1
2
3
4
5
6
7
8
9
10
11
12
13
//路由组件 js路由跳转
  
constructor(props){
        super(props);
         
}
//有history记录跳转
this.props.history.push('/register');
//无history记录跳转
this.props.history.replace('/register');
//返回
this.props.history.goBack();

一般组件withRouer  js路由跳转

1
2
3
4
5
6
7
8
9
10
11
12
13
import { withRouer } from "react-router-dom";
  
class Demo extends React.PureComponent {
    ...
    //暴露时加了高阶组件withRouer ,这样一般组件内部才能操作this.props.history
    demo1=()=>{
        
         this.props.history.push('/**');
    }
}
  
//withRouer高阶组件 必须
export default withRouer(Demo);

  

 

 

 

 

 

 

 

  没有英汉互译结果
  请尝试网页搜索

 

 

posted @   天渺工作室  阅读(7160)  评论(2编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示