91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

南溪县| 亳州市| 西吉县| 阆中市| 松原市| 霸州市| 连平县| 赤峰市| 新河县| 宜章县| 丰镇市| 濮阳县| 民勤县| 津南区| 梁平县| 凉城县| 寻乌县| 蓬莱市| 萍乡市| 石门县| 昌乐县| 曲靖市| 宽甸| 静宁县| 和静县| 迁西县| 盘锦市| 成安县| 宣威市| 南漳县| 临城县| 历史| 玉溪市| 安图县| 桃园市| 八宿县| 黄山市| 同心县| 新巴尔虎右旗| 宝坻区| 荣成市|