iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 24
0
自我挑戰組

請你當我的好朋友吧!ReactJS!系列 第 24

【DAY 24】react-router三劍客,Router、Route、Link(中)

【前言】
  最近壓力大、天氣變換大,我的皮膚又開始作怪了(暈,剩下最後七篇了!
【正文】
  昨天介紹四種Router標籤,今天來介紹**Route**

Route:用來匹配路由的組件

  1. Route:會根據目前網址做比對,render匹配的component
  • path:string,可以放任何有效的url path,如果不給的話就代表永遠與網址列符合
  • exact:boolean,設定true的話,代表url path要跟location.pathname完全相符合
  • strict:boolean,設定true的話,代表匹配的location.pathname也要有結尾的斜線才能符合
  • sensitive: bool,設定true,網址大小寫會導致匹配結果
// 如果同時設定exact、strict,可以讓location.pathname沒有結尾斜線
<Route exact strict path="/one" component={About} />
  • component:直接render component
  • render:利用function render componet
  • children:跟render一樣利用function來render component,但差別在於,children不管有沒有匹配到都會render,可以搭配動畫使用
<Route path="/user/:username" component={User} />
<Route path="/home" render={() => <div>Home</div>}/>
  1. 每個被render出來組件都會有這些props
  • match: { params, isExact, path, url }:object
  • location:object
  • history:object,是可變動的物件(mutable object)

上一篇
【DAY 23】react-router三劍客,Router、Route、Link(上)
下一篇
【DAY 25】react-router三劍客,Router、Route、Link(下)
系列文
請你當我的好朋友吧!ReactJS!30

尚未有邦友留言

立即登入留言