react前端路由和後端路由的差別是什麼

WBOY
發布: 2022-06-27 18:01:50
原創
2163 人瀏覽過

react前端路由與後端路由的差異:1、前端路由透過「react-router」中的Link標籤來觸發,後端路由透過ajax來觸發;2、前端路由基於瀏覽器事件監聽,而後端路由則是基於http通訊協定;3、前端路由可以實現局部渲染,而後端路由實作重新渲染整個頁面。

react前端路由和後端路由的差別是什麼

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

react前端路由和後端路由的差別是什麼

後端路由的機制

懂後端的同學都知道,後端路由是後端在app.js中註冊後端路由函數,前端透過ajax觸發對應的路由回呼函數(以express為例)

觸發: ajax

回應: app.get( '/router',callback)

原則: 基於http通訊協定

//app.js
app.get('/', (request, response) => {
  let ret = {
  "success": true,
  "code": 200,
  "message": "",
  "data": [],
  }
  
  response.send(ret)
})
登入後複製

前端路由的機制

而前端路由(指react-router )是,前端在router.js中註冊前端路由與元件映射,前端通過Link設定的路由或在瀏覽輸入對應路由引起元件渲染:

觸發: react-router中的Link標籤

回應: 渲染Rout標籤中對應元件

原理: 基於瀏覽器中hash(React-Router v2之前),history(React-Router v4)

//index.js
class ListContent extends Component {
  constructor(props){
    super(props);
    this.state = {
    }
  }
  
  render() {
    return (
      <Row>
          <Button>
+            <Link to="/topic"> 发布话题 </Link>
          </Button>
      </Row>
    );
  }
}
//router.js
<Router>
    <div>
      <Header/>
          <Switch>
            <Route exact path="/" component={index} />
            <Route exact path="/topic" component={topic} />
          </Switch>
    </div>
</Router>
登入後複製

在router.js中header元件會一直存在頁面中, 而Switch標籤中的元件只會在觸發後渲染,可簡單理解為未觸發元件為null,不顯示

所以形成了局部渲染

//若触发前端路由&#39;/topic&#39;,则index组件不渲染
<Router>
    <div>
      <Header/>
          <Switch>
            <Route exact path="/" component={null} />
            <Route exact path="/topic" component={topic} />
          </Switch>
    </div>
</Router>
登入後複製

前端路由與後端路由的差異

前端路由基於瀏覽器事件監聽,不透過http通訊協定

前端路由局部渲染, 後端重新渲染整個頁面,相對來說前端路由體驗好點

【相關推薦:javascript影片教學web前端

以上是react前端路由和後端路由的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板