這篇文章主要介紹了react路由如何安裝的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇react路由如何安裝文章都會有所收獲,下面我們一起來看看吧。
成都創新互聯-專業網站定制、快速模板網站建設、高性價比嘉善網站開發、企業建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式嘉善網站制作公司更省心,省錢,快速模板網站建設找我們,業務覆蓋嘉善地區。費用合理售后完善,十余年實體公司更值得信賴。
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路由如何安裝”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注創新互聯行業資訊頻道。
網站題目:react路由如何安裝
本文鏈接:http://vcdvsql.cn/article38/gjgssp.html
成都網站建設公司_創新互聯,為您提供品牌網站制作、小程序開發、網站設計公司、自適應網站、標簽優化、網站改版
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯