react路由如何安裝

這篇文章主要介紹了react路由如何安裝的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇react路由如何安裝文章都會有所收獲,下面我們一起來看看吧。

成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設、高性價比嘉善網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式嘉善網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設找我們,業(yè)務覆蓋嘉善地區(qū)。費用合理售后完善,十余年實體公司更值得信賴。

react路由的安裝方法:1、通過“npm i react-router-dom@5.0 -S”安裝路由;2、使用“import { HashRouter as Router, Route, NavLink } from 'react-router-dom'”方式導入路由即可。

react 路由安裝及簡單使用

一.react安裝路由

安裝:npm i react-router-dom@5.0 -S (最新版本為6.0)

導入:

import { HashRouter as Router, Route, NavLink } from 'react-router-dom'

路由配置:

1.所有路由相關內容都應該放在<Router>組件內

2.鏈接使用:<NavLink to="地址">

3.頁面使用:<Route path="地址" component={組件}>

示例:簡單的路由跳轉

function App() {
    return (<Router>
        <div>
              //exact 精確匹配
            <NavLink to='/' exact>首頁</NavLink>|
            <NavLink to='/about' >關于</NavLink>
        </div>
        {/* 路由頁面 */}
        <Switch>
            <Route path="/" exact component={Home}></Route>
            <Route path="/about" component={About}></Route>
        </Switch>
    </Router>)
}
export default App
 
function Home() {
    return <div>首頁頁面</div>
}
 
function About() {
    return <div>
         關于頁面    
    </div>
}

二.路由傳參

路由傳參形式

1.鏈接傳參   <NavLink to="/produce/abc">

2.參數(shù)傳參  <Route path="/produce/:id">

3.參數(shù)獲取  props.match.params.id

常用歷史操作的方法

1.go()歷史跳轉記錄

2.goBack(返回)

3.push()添加記錄跳轉

4.replace()替換記錄并跳轉

示例:

import { HashRouter as Router, Route, NavLink, Redirect, Switch, Prompt, Link } from 'react-router-dom'
// NavLink 會比 link自動添加一個active的class
function App() {
    return (<Router>
        <div>
            <NavLink to='/' exact>首頁</NavLink>|
            <NavLink to='/about' >關于</NavLink>
            <NavLink to='/produce/abc'>產(chǎn)品abc</NavLink>
            <NavLink to='/produce/123'>產(chǎn)品123</NavLink>
        </div>
        {/* 路由頁面 */}
        <Switch>
            <Route path="/" exact component={Home}></Route>
            <Route path="/about" component={About}></Route>
            <Route path="/produce/:id" component={Produce}></Route>
        </Switch>
    </Router>)
}
export default App
 
function Produce({ match, history, location }) {
    // console.log(match);
    return (<div>
        <h2>產(chǎn)品{match.params.id}</h2>
        <button onClick={() => history.goBack()}>返回</button>
        <button onClick={() => history.push('/')}>回到首頁</button>
    </div>)
}
 
function Home() {
    return <div>首頁頁面</div>
}
 
function About() {
    return <div>關于頁面
    </div>
}

子路由傳參

示例:

// 導入路由相關組件
// 導入哈希路由 別名router
// Route路由頁面
// NvaLink 導航鏈接
import { HashRouter as Router, Route, NavLink, Redirect, Switch, Prompt, Link } from 'react-router-dom'
// NavLink 會比 link自動添加一個active的class
function App() {
    return (<Router>
        <div>
            <NavLink to='/' exact>首頁</NavLink>|
            <NavLink to='/about' >關于</NavLink>
            <NavLink to='/produce/abc'>產(chǎn)品abc</NavLink>
            <NavLink to='/produce/123'>產(chǎn)品123</NavLink>
            <NavLink to='/admin'>管理</NavLink>
        </div>
        {/* 路由頁面 */}
        <Switch>
            <Route path="/" exact component={Home}></Route>
            <Route path="/about" component={About}></Route>
            <Route path="/produce/:id" component={Produce}></Route>
            <Route path="/admin" component={Admin}></Route>
        </Switch>
    </Router>)
}
export default App
function NoMatch({ location, history }) {
    return (<div>
        <h2>404</h2>
        <p>你爹來咯</p>
        <p>{location.url}</p>
        <button onClick={history.goBack}>后退</button>
        <NavLink to={{ pathname: "/" }}>首頁</NavLink>
 
    </div>)
}
function Admin() {
    return (<div style={{ "display": "flex" }}>
        <div style={{ width: "200px", boderRight: "1px solid #f0f0f0" }}>
            <NavLink to="/admin/dash">概覽</NavLink><br />
            <NavLink to="/admin/orderlist">列表</NavLink>
        </div>
        <div>
            <Route path="/admin/dash" component={Dash}></Route>
            <Route path="/admin/orderlist" component={OrderList}></Route>
            <Redirect path='/admin' to="/admin/dash"></Redirect>
        </div>
    </div>)
}
function Dash() {
    return (<div>
        概覽
    </div>)
}
function OrderList() {
    return (<div>
        訂單列表
    </div>)
}
function Produce({ match, history, location }) {
    // console.log(match);
    return (<div>
        <h2>產(chǎn)品{match.params.id}</h2>
        <button onClick={() => history.goBack()}>返回</button>
        <button onClick={() => history.push('/')}>回到首頁</button>
    </div>)
}
 
function Home() {
    return <div>首頁頁面</div>
}
 
function About() {
    return <div>關于頁面
    </div>
}

關于“react路由如何安裝”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“react路由如何安裝”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)站題目:react路由如何安裝
本文鏈接:http://muchs.cn/article38/gjgssp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、小程序開發(fā)、網(wǎng)站設計公司自適應網(wǎng)站、標簽優(yōu)化、網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)