這裏是我想要實現的東西:陣營路由器V4 - 頁組合
在/event
和/customercenter
的header
和footer
的情況顯示,只有main
標籤的內容被改變。
另一方面,/login
和/register
頁面不顯示頁眉和頁腳。
首先,我的網站的頁面組成如下。
/
- /事件
-/customercenter
/登錄
/註冊
我似乎沒有要解決這個問題,因爲我覺得我誤解匹配。
當一個人進入/event
頁面, /
基本上是比賽,所以我認爲,在/
呈現的部分將被繪製。
所以/
,/login
和/register
使用switch
和exact
支鏈的,和/
下要呈現的網頁中的<Route path = {...} component = {...}
形式被簡單地構成。爲了實現這一點,我試圖通過引用堆棧溢出中的其他文章來實現它,但出於某種原因,路由器無法捕獲來自/register
和/login
(而不是它返回null
)的組件。
簡而言之:
- 預期的結果:無頁眉和頁腳上
/login
和/register
- 當前結果:
/login
和/register
與頁眉和頁腳中沒有匹配compoennt。
以下是我的簡化代碼:
index.js
ReactDOM.render(
<Router>
<App />
</Router>
, document.getElementById('root'));
App.js
爲了/login
和/register
避免匹配/
我用exact
。但它不匹配任何東西。
首頁。JS
class Home extends Component {
render() {
return (
<div className="App">
<MainHeader />
<AwesomeRouter />
<Footer/>
</div>
);
}
}
router.js
class AwesomeRouter extends Component {
render() {
return (
<div>
<Route path='/event' component={Event}/>
<Route path='/customercenter' component={CustomerCenter}/>
</div>
);
}
}
感謝您的回答,但這是我已經嘗試過的。 如果我這樣做了'/ login'和'/ register'就可以正常顯示,但是'/ event'和'/ customercenter'不能。 –
您可以將您的'/'路線移動到底部並刪除**確切的**。這樣,** **中的其他路線將首先匹配。 –
哦!我明白你的意思了! –