亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

react和vue的路由有哪些區別

發布時間:2022-04-21 16:33:39 來源:億速云 閱讀:379 作者:iii 欄目:web開發

這篇文章主要介紹“react和vue的路由有哪些區別”,在日常操作中,相信很多人在react和vue的路由有哪些區別問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”react和vue的路由有哪些區別”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

區別:1、react路由是全局組件方式,vue路由是全局配置方式;2、react路由支持對象和jsx語法的組件形式配置,vue路由只支持對象形式配置;3、vue路由任何組件都會被渲染到“<router-view/>”,而react路由不是。

本教程操作環境:Windows10系統、react17.0.1版、Dell G3電腦。

react和vue的路由有什么區別

總的來說,二者的設計理念大致相同,但是由于對應的框架分別是VUE和React,使得它們的使用方式略有些細微的差別。下文的著重點就是對比它們的差別部分。

無論是vue-router還是react-router,它們的最基本的初衷就是實現前端路由。所謂前端路由,簡單來說,就是當瀏覽器的url產生變化時,不向服務器進行請求,而是直接控制前端頁面產生變化,以期待前端在比如功能切換時,產生類似頁面跳轉等效果。

而這里面最基本的,無論是vue-router還是react-router,都要提供一種配置方式,讓使用者可以**配置出url路徑和要展示的組件的對應關系**。這樣一來,用戶通過頁面點擊或者其他方式觸發瀏覽器url變化時,VUE或者React系統就可以找到這個url對應的VUE組件或者React組件,從而有針對性地,將這個組件在頁面上渲染。

##### 典型代碼:
###### vue-router
JS:
```
const Foo = { template: '<div>foo</div>' }
const Bar = { template: '<div>bar</div>' }
const routes = [
  { path: '/foo', component: Foo },
  { path: '/bar', component: Bar }
]
const router = new VueRouter({undefined
  routes
})
const app = new Vue({undefined
  router
}).$mount('#app')
```
HTML:
```
<div id="app">
  <h2>Hello App!</h2>
  <p>
    <router-linkto="/foo">Go to Foo</router-link>
    <router-linkto="/bar">Go to Bar</router-link>
  </p>
  <!-- 路由出口-->
  <!-- 路由匹配到的組件將渲染在這里 -->
 <router-view></router-view>
</div>
```
###### react-router
JS/JSX:
```
// modules/Foo.js
import React from 'react'
export default React.createClass({undefined
  render() {undefined
    return<div>Foo</div>
  }
})
```
```
// modules/Bar.js
import React from 'react'
export default React.createClass({undefined
  render() {undefined
    return<div>Bar</div>
  }
})
```
```
// index.js
// ...
render((
  <Routerhistory={hashHistory}>
    <Route path="/"component={App}>
      {/* make them children of `App`*/}
      <Route path="/foo"component={Foo}/>
      <Route path="/bar"component={Bar}/>
    </Route>
  </Router>
), document.getElementById('app'))
```
```
// modules/App.js
// ...
  render() {undefined
    return (
      <div>
        <h2>React RouterTutorial</h2>
        <ulrole="nav">
          <li><Linkto="/foo">Go To Foo</Link></li>
          <li><Linkto="/bar">Go To Bar</Link></li>
        </ul>
        {/* 路由匹配到的組件將渲染在這里 */}
        {this.props.children}
      </div>
    )
  }
// ...
```

兩個典型代碼實際上是有區別的。

看似都實現了根路由和兩個自定義路由,但是這里用的react-router的典型代碼實際上采用了子路由的方式,而vue-router僅用了并列級別的路由。之所以放這兩種不同的典型代碼,實際上這樣更容易對比出二者的區別。

- 首先定義組件。定義Foo組件和Bar組件的方式的區別是VUE和React框架語法級別的區別,不在我們的討論范圍之內。

- 組件定義好之后,配置url和組件的對應關系。在典型代碼中,vue-router定義了一個routes對象,它是一個數組,數組中每個對象表示該對應關系。而react-router定義采用了JSX方式,清晰地表示了這個對應關系,以及和/路由的父子關系。需要注意的是:VUE的路由配置要提供給new VueRouter()對象,這個對象要在全局VUE對象初始化時提供;而React路由則需要配置給全局<Router/>組件,雖然react-router也提供類似于vue-router典型代碼中的對象數組形式的配置方式,但是最終仍是要將配置傳遞給<Router/>。**一個是全局配置(VUE),一個是全局組件(React),這是兩者使用上的根本區別之一。**(vue-router并不提供像JSX這種類html的配置方式,它只能以對象方式提供路由配置,這也是框架系統不同所決定的)

- 子路由配置。vue-router在典型代碼中并沒有體現如何配置子路由,其實就vue-router路由組件的使用來說,無論是哪個級別的路由組件,**都會被渲染到父組件<router-view/>組件標識的地方**。對于react-router,**根路由會被渲染到<Router/>指定的位置,而子路由則會作為子組件,將children對象以參數方式傳入父組件,由父組件將該對象指定渲染位置**。這也是為什么在典型代碼中vue-router沒有寫路由的父子關系而react-router的典型代碼體現了父子路由關系的原因。

#### 使用時的不同點總結:

  • - vue-router是全局配置方式,react-router是全局組件方式。

  • - vue-router僅支持對象形式的配置,react-router支持對象形式和JSX語法的組件形式配置。

  • - vue-router任何路由組件都會被渲染到<router-view/>位置,react-router子組件作為children被傳入父組件,而根組件被渲染到<Router/>位置。

到此,關于“react和vue的路由有哪些區別”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

彭州市| 托克托县| 辽中县| 无棣县| 寻乌县| 合肥市| 东乡县| 阿克苏市| 瓮安县| 故城县| 天等县| 和静县| 荥阳市| 荔浦县| 喀什市| 昆山市| 化州市| 抚宁县| 和林格尔县| 荥经县| 金阳县| 类乌齐县| 曲周县| 台北县| 邮箱| 清河县| 寻甸| 秦安县| 湄潭县| 宁津县| 辽宁省| 阿合奇县| 南宁市| 襄垣县| 通城县| 奉新县| 色达县| 克什克腾旗| 鹿泉市| 莱阳市| 乃东县|