React——react-router路由(基本使用)

什么是路由

        一个路由就是一个映射关系

        key为路径,value可能是function或componen

react-router的理解

        react的一个插件库

        专门用来实现一个SPA的应用

        基于react的项目基本都会用到此库

添加react-router到工程中

npm add react-router --location=global

路由的基本使用

1.明确好界面中的导航区、展示区
2.引入router路由
    import {Link, Route} from 'react-router-dom'  
3.Link标签相当于html中的<a>标签
    <Link to="/xxx">Demo</Link>  
4.展示区写Rout标签进行路径匹配
    <Rout path="/xxx" component={Demo}/>
5.index.js文件中引入进行全局路由包裹。也就是<App>的最外层包裹了一个<BrowserRouter>或<HashRouter>
    import {BrowserRouter} from "react-router-dom";
//index.js
import React from "react";
import {createRoot} from "react-dom/client";
import {BrowserRouter} from "react-router-dom";
import App from "./App";
const root = createRoot(document.getElementById("root"))
root.render(
    <BrowserRouter>
        <App/>
    </BrowserRouter>
)

事例一

import React, {Component} from 'react';
import {Link, Route} from 'react-router-dom'
import About from "./components/About";
import Home from "./components/Home";
class App extends Component {
    render() {
        return (
            <div>
                <div className="row">
                    <div className="col-xs-offset-2 col-xs-8">
                        <div className="page-header">React Router Demo</div>
                    </div>
                </div>
                <div className="row">
                    <div className="col-xs-2 col-xs-offset-2">
                        <div className="list-group">
                            {/*原神html中,依靠<a>标签跳转不同的页面*/}
                            {/* <a className="list-group-item" href="#">About</a>
                            <a className="list-group-item active" href="#">Home</a>*/}

                            {/*在React中靠路由链接来跳转组件*/}
                            <Link className="list-group-item" to="/about">About</Link>
                            <Link className="list-group-item" to="/home">Home</Link>
                        </div>
                    </div>
                    <div className="col-xs-6">
                        <div className="panel">
                            <div className="panel-body">
                                {/*注册路由*/}
                                <Route path="/about" component={About}/>
                                <Route path="/home" component={Home}/>
                            </div>
                        </div>
                    </div>
                </div>

            </div>
        );
    }
}

export default App;

react-router相关API

内置组件
    1.<BrowserRouter>
    2.
    3.
    4.
    5.
    6.
    7.    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CC_Waiting

我,大学未工作,感谢您的打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值