中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

react路由如何安裝

發布時間:2023-01-03 14:36:05 來源:億速云 閱讀:138 作者:iii 欄目:web開發

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

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.參數傳參  <Route path="/produce/:id">

3.參數獲取  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'>產品abc</NavLink>
            <NavLink to='/produce/123'>產品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>產品{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'>產品abc</NavLink>
            <NavLink to='/produce/123'>產品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>產品{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路由如何安裝”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宝山区| 区。| 定远县| 赤峰市| 阳城县| 临汾市| 台前县| 兰西县| 清苑县| 白河县| 淄博市| 曲阳县| 九江县| 乌恰县| 邵东县| 澎湖县| 桓台县| 江孜县| 南开区| 万安县| 三亚市| 汪清县| 如皋市| 泗洪县| 探索| 杨浦区| 疏附县| 长阳| 彭山县| 屯门区| 乐至县| 东山县| 乌拉特后旗| 东至县| 临潭县| 永州市| 伊金霍洛旗| 青河县| 遂溪县| 徐水县| 商城县|