iT邦幫忙

2023 iThome 鐵人賽

DAY 20
0
自我挑戰組

線上商店串接tappay系列 第 20

React Router

  • 分享至 

  • xImage
  •  

建立一個網站時我們可能由多個頁面,藉由點擊跳轉去完成。在正常情況,我們發送一個initial url到server,server回傳一個root網頁給我們,之後如果需要不同頁面,就發送新的url到server,server再給出回應,如此循環。

我們可以使用React Router Dom,是一種需要額外安裝的工具,當我們發送initial url時,server回傳的是一個bundle,我們只要利用程式碼中的Router,Route,Switch標籤結構,就能渲染出不同網頁,而不用再向server 發送新的url。

首先安裝React router dom ,建議使用5號版本會比較穩定,
npm install react-router-dom@5

寫好要渲染的新網頁組件

const Create = () => {
    return (
      <div className="create">
        <h2>Add a New Blog</h2>
      </div>
    );
  }
   
  export default Create;

利用Router Route Switch結構去選擇現在想看到哪個網頁,可以發現Switch裡面包著兩種內容的Route,其中<Route exact path="/">,代表的是Root 網頁。

return (
    <Router>
      <div className="App">
        <Navbar />
        <div className="content">
          <Switch>
            <Route exact path="/">
              <Home />
            </Route>
            <Route path="/create">
              <Create />
            </Route>
          </Switch>
        </div>
      </div>
    </Router>

輸入http://localhost:3000/create 或點擊New blogs都會渲染新的網頁
https://ithelp.ithome.com.tw/upload/images/20231005/2016332036v1dTTcPj.pnghttps://ithelp.ithome.com.tw/upload/images/20231005/201633204wlEitN41n.png


參考資料

Net ninja


上一篇
React custom Hook
下一篇
React Link & useParams
系列文
線上商店串接tappay30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言