1. 程式人生 > >【轉自阮一峰老師】React Router中IndexRoute元件的用法

【轉自阮一峰老師】React Router中IndexRoute元件的用法

IndexRoute 元件

下面的例子,你會不會覺得有一點問題?

<Router>
  <Route path="/" component={App}>
    <Route path="accounts" component={Accounts}/>
    <Route path="statements" component={Statements}/>
  </Route>
</Router>

上面程式碼中,訪問根路徑/,不會載入任何子元件。也就是說,App元件的this.props.children,這時是undefined

因此,通常會採用{this.props.children || <Home/>}

這樣的寫法。這時,Home明明是AccountsStatements的同級元件,卻沒有寫在Route中。

IndexRoute就是解決這個問題,顯式指定Home是根路由的子元件,即指定預設情況下載入的子元件。你可以把IndexRoute想象成某個路徑的index.html

<Router>
  <Route path="/" component={App}>
    <IndexRoute component={Home}/>
    <Route path="accounts" component={Accounts}/>
    <Route path="statements" component={Statements}/>
  
</Route> </Router>

現在,使用者訪問/的時候,載入的元件結構如下。

<App>
<Home/>
</App>

這種元件結構就很清晰了:App只包含下級元件的共有元素,本身的展示內容則由Home元件定義。這樣有利於程式碼分離,也有利於使用React Router提供的各種API。

注意,IndexRoute元件沒有路徑引數path

原文連結:http://www.ruanyifeng.com/blog/2016/05/react_router.html?utm_source=tool.lu

相關推薦

老師React RouterIndexRoute元件用法

IndexRoute 元件 下面的例子,你會不會覺得有一點問題? <Router> <Route path="/" component={App}> <Route path="accounts" component={Accou

組合語言初步瞭解-----的組合語言網路日誌

轉自http://www.ruanyifeng.com/blog/2018/01/assembly-language-primer.html 作者:阮一峰 學習程式設計其實就是學高階語言,即那些為人類設計的計算機語言。 但是,計算機不理解高階語言,必須通過編譯器轉成二進位制程式碼,才能執

JavaScript 的 this 原理

一、問題的由來 學懂 JavaScript 語言,一個標誌就是理解下面兩種寫法,可能有不一樣的結果。 var obj = { foo: function () {} }; var foo = obj.foo; // 寫法一 obj.foo() // 寫法

KMP模式匹配演算法(

字串匹配是計算機的基本任務之一。 舉例來說,有一個字串"BBC ABCDAB ABCDABCDABDE",我想知道,裡面是否包含另一個字串"ABCDABD"? 許多演算法可以完成這個任務,Knuth-Morris-Pratt演算法(簡稱KMP)是最常用的之一。它以三個發明者命名,起頭的那個K就是著

Flex 布局教程:實例篇

side web figure title borde 無法 ref .com 1.2 作者: 阮一峰 日期: 2015年7月14日 上一篇文章介紹了Flex布局的語法,今天介紹常見布局的Flex寫法。 你會看到,不管是什麽布局,Flex往往都可以幾行命令搞定。 我只列

分享一個徹底凍結對象的函數——來自老師的《ECMAScript 6 入門》

分享 入門 pre 函數 凍結 徹底 nbsp 枚舉 clas var constantize = (obj) => { Object.freeze(obj); Object.keys(obj).forEach( (key, i) => {

flex布局 (引用老師的flex布局-語法篇)

元素 3.2 spa lin ear ner ros 剩余空間 對齊方式 一、Flex 布局是什麽? Flex 是 Flexible Box 的縮寫,意為"彈性布局",用來為盒狀模型提供最大的靈活性。 任何一個容器都可以指定為 Flex 布局。 .box{ disp

老師文章的常識性錯誤之 Unicode 與 UTF-8

阮一峰老師對普及計算機基礎技術功不可沒,但畢竟老師不是神,因此也避免不了對某些概念有一些錯誤的理解,《字元編碼筆記:ASCII,Unicode 和 UTF-8 》 是阮老師10年前寫的一篇關於字元編碼的科普文章,現在用 Google 搜關鍵字該文章依然名列前茅,可見他的文章有多大影響力,不過

老師的《ECMAScript 6 入門》讀書筆記()

前言 前段時間整理了ES5的讀書筆記:《你可能遺漏的JS知識點(一)》、《你可能遺漏的JS知識點(二)》,現在輪到ES6了,總共分為四篇,以便於知識點的梳理和檢視,本篇內容包括: 一、let和const 二、解構賦值 三、字串擴充套件 四、數值擴充套件 五、正則擴充套件 六、Sy

篇文章幫你瞭解LoRaWAN特性微信公眾號 智聯網事

LoRa,相信做小無線開發的朋友都不會陌生,Semtech公司獨有的擴頻調製技術,能夠實現低功耗遠距離的Sub-1G無線傳輸;而LoRaWAN,因為涉及到協議,因此不是那麼廣為人知;本文,主要針對LoRaWAN協議進行一個總結,包括以下內容: LoRaWAN從哪裡來 LoRa

30多個投資理財工具,總有款適合你簡七理財

        我有個朋友,最近突然開始關注錢的事情了。於是花了3個整天,讀了我們過去很長一段時間的內容,認為自己已經很懂理財了。         “什麼是基金?怎樣理解定投?網貸產品是指什麼?...”說起來也是頭頭是道,但是真要開始投資,又手忙腳亂了起來:     -

網絡JS實現保存當前網頁HTML到本地

console http nts jquer () webkit 網絡 ctu color <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <titl

樹形結構表的存儲:https://www.cnblogs.com/Tjna/p/9026980.html

png 父節點 代碼 qpid earch 模塊 tle info sea 一、樹形結構例子分析: 以360問答頁面為例:http://wenda.so.com/c/ 我們通過觀察URL,可以明確該頁面的數據以樹形結構存儲,下面三塊模塊分別為: ①根節點 ②根節點的第一層子

)深入理解OAuth 2.0

MF refresh 告訴 agent example 運行流程 可見 緩存 但是 OAuth是一個關於授權(authorization)的開放網絡標準,在全世界得到廣泛應用,目前的版本是2.0版。 本文對OAuth 2.0的設計思路和運行流程,做一個簡明通俗的解釋,主要參

極大極小搜索思想+(α/β)減枝 -----https://blog.csdn.net/hzk_cpp/article/details/79275772

ima 基本 個數 博弈論 數字 這就是 pre -- 繼續 極大極小搜索,即minimax搜索算法,專門用來做博弈論的問題的暴力. 多被稱為對抗搜索算法. 這個搜索算法的基本思想就是分兩層,一層是先手,記為a,還有一層是後手,記為b. 這個搜索是認為這a與b的利益關

:為什麽要寫博客(

today html footer pac 訪問 2018年 網站流量 ip訪問 組態 2010年4月,我與百姓網CEO王建碩有過一次對話。我們談到了為什麽寫博客。 ? 阮:建碩,我知道你有兩個博客,一個是英文的,另一個是中文的。但是,你更新英文博客的頻率,遠遠高於

pycharm的斷點除錯https://blog.csdn.net/weixin_39198406/article/details/78873120

1. show execution point (F10)顯示目前專案所有斷點2. step over (F8)下一步但僅限於設定斷點的檔案3. step into (F7)執行下一行4. step into my code (Alt+Shift+F7)執行下一行但忽略libraries(匯入庫的語句)5.

劍指未來五十年的指令集RISC-V微信公眾號 智聯網事

【轉自微信公眾號 智聯網事】 本文介紹了RISC-V指令集從釋出到目前的發展路程,及基於RISC-V的晶片研發進展及晶片配套軟體開發生態的更新. 文章目錄如下: 一些基本概念 RISC-V 二三事 RISC-V 有多強  ARM的擔憂

mybatis入門基礎----高階對映(一對一,一對多,多對多)

  轉自:http://www.cnblogs.com/selene/p/4627446.html 可參考https://blog.csdn.net/liu_yanzhao/article/details/78573023 閱讀目錄 一:訂單商品資料模型 二、一

虎嗅段永平在斯坦福與華人學生交流分享

虎嗅注:9月30日,段永平在斯坦福校園與華人學生進行了交流和分享,段永平是步步高、OPPO和vivo的幕後大佬,也是拼多多黃崢的導師與早期投資人。在對話中,他透露了自己“成功的祕訣”:有一個“Stop Doing List(不為清單,虎嗅譯)”,有所為有所不為,不做不對的事,比做對的事更重要