成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Router入門0x204: react-route簡(jiǎn)單栗子

番茄西紅柿 / 3037人閱讀

摘要:概述這一章仔細(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 (
            
首頁(yè) 文章 我的

({render: () =>

首頁(yè)

})}>
({render: () =>

文章

})}>
({render: () =>

我的

})}>
) } } let MyApp = withRouter(App) ReactDom.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 (
            
首頁(yè) 文章 location.pathname==="/mine"}>我的

({render: () =>

首頁(yè)

})}>
({render: () =>

文章

})}>
({render: () =>

我的

})}>
) } } let MyApp = withRouter(App) ReactDom.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):boolean
0x003 重定向

源碼

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

0x004 沒找到匹配的路由

源碼

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}獲取

0x006 頁(yè)面手動(dòng)跳轉(zhuǎn)并傳參

源碼

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

0x008 資源

源碼

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/98217.html

相關(guān)文章

  • Router入門0x201: 從 URL 到 SPA

    摘要:的全稱是統(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)而已,而不是路由本身。 ...

    honmaple 評(píng)論0 收藏0
  • Router入門0x203: react、react-route、react-route-dom

    摘要:概述上一章使用的是自己實(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...

    luxixing 評(píng)論0 收藏0
  • Router入門0x205: react-route + redux + react 集成

    摘要:概述這一章終于大集成了集成源碼效果說明集成主要是用到庫(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...

    yiliang 評(píng)論0 收藏0
  • react、react-router、redux 也許是最佳小實(shí)踐1

    摘要:通過聲明式編程模型定義組件,是最強(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的集中使用方法。 這是基...

    Betta 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<