react的路由使用


react的路由使用也太太太復雜了吧,有各種各樣的的花式,主要是有太多的配置項可以選擇了,接下來就寫一下我自己學到的。

路由的下載

react的路由需要額外下載,然后有三種,分別是供web,軟件,兩種都能用的any。然后我們主要用的是web,下載命令:npm i react-router-dom --save

然后在使用的地方進行引入,import {Link} from 'react-router-dom'

路由的簡單使用

//引入路由
import {Link, Route} from 'react-router-dom'

//引入路由組件
import Home from './component/home'
import About from './component/about'

export default class App extends Component {
  render() {
    return (
      <div>
        <h1>React Router Demo</h1>
        {/* 普通路由 */}
        <Link to="/about">About</Link>
        <Link to="/home">Home</Link>
        <div>
            <Switch>
              <Route path="/about" component={About}></Route>
              <Route path="/home" component={Home}></Route>
            </Switch>
          </div>        
      </div>
    )
  }
}

需要注意的是,使用router的時候需要在外面套一層BrowserRouter或者HashRouter把所有的包裹住,然后為了簡潔一點,就選擇直接將App包裹,有兩種包裹方式,如下:

區別就是在瀏覽器的地址欄里面是否會有#,並且,BrowserRouter在刷新的時候會以當前的url地址去查找靜態資源,HashRouter會將#后面的地址全部省略。
實際效果:

NavLink是Link的一個特定版本,會在匹配上當前的URL的時候給已經渲染的元素添加參數,組件的屬性有:

具體使用:

import './App.css'

export default class App extends Component {
  render() {
    return (
      <div>
        <h1>React Router Demo</h1>
        {/* Link普通路由 */}
        {/* <Link to="/about">About</Link>
        <Link to="/home">Home</Link> */}

        {/* NavLink路由 */}
        <NavLink activeClassName="demo" to="/about">About</NavLink>
        <NavLink activeClassName="demo" to="/home">Home</NavLink>

        <div>
            <Switch>
              <Route path="/about" component={About}></Route>
              <Route path="/home" component={Home}></Route>
            </Switch>
          </div>        
      </div>
    )
  }
}

//App.css樣式
.demo {
  background-color: pink;
  color: white;
}

路由傳參


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM