摘要:概述這一章仔細(xì)講一講的使用栗子簡(jiǎn)單使用源碼簡(jiǎn)單使用首頁(yè)文章我的首頁(yè)文章我的效果帶導(dǎo)航激活效果源碼帶導(dǎo)航效果首頁(yè)文章我的首頁(yè)文章我的效果說明增強(qiáng)版,如果當(dāng)前路由命中,將會(huì)啟用或者。
0x000 概述
這一章仔細(xì)講一講 react-route 的使用栗子
0x001 簡(jiǎn)單使用
源碼
import React from "react" import ReactDom from "react-dom" import {BrowserRouter, Switch, Route, Link, withRouter} from "react-router-dom" // 簡(jiǎn)單使用 class App extends React.Component { render() { return () } } let MyApp = withRouter(App) ReactDom.render(首頁(yè) 文章 我的
({render: () => 首頁(yè)
})}>({render: () => 文章
})}>({render: () => 我的
})}>, document.getElementById("app") )
效果
0x002 帶導(dǎo)航激活效果
源碼
import React from "react" import ReactDom from "react-dom" import {BrowserRouter, Switch, Route, NavLink, withRouter} from "react-router-dom" import "./App.css" // 帶導(dǎo)航效果 class App extends React.Component { render() { return () } } let MyApp = withRouter(App) ReactDom.render(首頁(yè) 文章 location.pathname==="/mine"}>我的
({render: () => 首頁(yè)
})}>({render: () => 文章
})}>({render: () => 我的
})}>, document.getElementById("app") )
效果
說明
NavLink: Link增強(qiáng)版,如果當(dāng)前路由命中,將會(huì)啟用activeStyle或者activeClassName。
- activeStyle:?Object: 當(dāng)鏈接激活的時(shí)候的樣式 - activeClassName:?String: 當(dāng)鏈接激活的時(shí)候的樣式類 - isActive?Function: 可以手動(dòng)判斷該鏈接是否激活,該函數(shù)的簽名是:function(match, location):boolean0x003 重定向
源碼
import {BrowserRouter, Switch, Route, NavLink, Redirect, withRouter} from "react-router-dom" class App extends React.Component { render() { return () } } ```首頁(yè) 文章 我的
({render: () => 首頁(yè)
})}>({render: () => 文章
})}>({render: () => 我的
})}>
效果
當(dāng)我們?cè)L問http://localhost:8081/時(shí),會(huì)自動(dòng)跳轉(zhuǎn)到http://localhost:8081/index
源碼
import {BrowserRouter, Switch, Route, NavLink, withRouter} from "react-router-dom" class App extends React.Component { render() { return () } }首頁(yè) 文章 我的
({render: () => 首頁(yè)
})}>({render: () => 文章
})}>({render: () => 我的
})}>({render: () => 未找到這個(gè)頁(yè)面
})}/>
效果
0x005 url傳參
源碼
import {BrowserRouter, Switch, Route, NavLink, withRouter} from "react-router-dom" class Article extends React.Component{ render(){ return({this.props.match.params.id}
) } } class App extends React.Component { render() { return () } }首頁(yè) 文章1 文章2 我的
({render: () => 首頁(yè)
})}>({render: () => 我的
})}>
效果
說明
聲明Route的時(shí)候使用:${name}表示要作為動(dòng)態(tài)參數(shù),之后可以通過this.props.match.params.${name}獲取
源碼
class Article extends React.Component{ render(){ console.log(this) return(文章 id:{this.props.location.state.id}
) } } class App extends React.Component { render() { return () } }
效果
說明:
跳轉(zhuǎn):this.props.history.push(path:String,data:?Object)
獲取參數(shù):this.props.location.state
0x007 何時(shí)使用Switch做個(gè)試驗(yàn),假設(shè)我們有兩個(gè)路由:
class App extends React.Component { render() { return () } }article
}>:name
}>
此時(shí)看效果
會(huì)發(fā)現(xiàn)兩個(gè)都命中了,這個(gè)時(shí)候可以使用Switch,他只會(huì)命中第一個(gè)命中的路由
class App extends React.Component { render() { return () } }article
}>:name
}>
命中/article
命中/:name
源碼
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/98217.html
摘要:的全稱是統(tǒng)一資源定位符英文,可以這么說,是一種標(biāo)準(zhǔn),而網(wǎng)址則是符合標(biāo)準(zhǔn)的一種實(shí)現(xiàn)而已。渲染器,將組件渲染到頁(yè)面上。 0x000 概述 從這一章開始就進(jìn)入路由章節(jié)了,并不直接從如何使用react-route來講,而是從路由的概念和實(shí)現(xiàn)來講,達(dá)到知道路由的本質(zhì),而不是只知道如何使用react-route庫(kù)的目的,畢竟react-route只是一個(gè)庫(kù),是路由的一個(gè)實(shí)現(xiàn)而已,而不是路由本身。 ...
摘要:概述上一章使用的是自己實(shí)現(xiàn)的,當(dāng)然已經(jīng)有現(xiàn)成的庫(kù)給我們用了,那就是。總結(jié)看透它,然后掌握它資源源碼 0x000 概述 上一章使用的是自己實(shí)現(xiàn)的route,當(dāng)然已經(jīng)有現(xiàn)成的庫(kù)給我們用了,那就是react-route。 0x001 history Api說明 在說這個(gè)庫(kù)之前,得先對(duì)history新的api做一個(gè)了解 window.history.pushState(data,title...
摘要:概述這一章終于大集成了集成源碼效果說明集成主要是用到庫(kù)集成源碼效果說明主要用到庫(kù),是針對(duì)庫(kù)在環(huán)境下的封裝組件,注入等屬性接管跟組件指定路由和組件的對(duì)應(yīng)關(guān)系集成源碼引入相關(guān)的包和鏈接組件效果說明主要用到庫(kù)都是用的接 0x000 概述 這一章終于大集成了 0x001 集成react 源碼 import React from react import ReactDom from rea...
摘要:通過聲明式編程模型定義組件,是最強(qiáng)大的核心功能。無論是的瀏覽器書簽,還是的導(dǎo)航功能,只要是可以使用的地方,就可以使用。二級(jí)路由使用渲染組件屬性狀態(tài)請(qǐng)選擇一個(gè)主題。也許是最佳小實(shí)踐地址,覺得有幫助的話,請(qǐng)點(diǎn)擊一下,嘿嘿 小前言 這是一個(gè)小小的有關(guān)react的小例子,希望通過一個(gè)小例子,可以讓新手更好的了解到react、react-router4.0、redux的集中使用方法。 這是基...
閱讀 736·2023-04-25 19:43
閱讀 3981·2021-11-30 14:52
閱讀 3807·2021-11-30 14:52
閱讀 3871·2021-11-29 11:00
閱讀 3802·2021-11-29 11:00
閱讀 3904·2021-11-29 11:00
閱讀 3580·2021-11-29 11:00
閱讀 6184·2021-11-29 11:00