新反應& react-router。反應路由器混淆
我試圖理解這個例子:
https://github.com/ReactTraining/react-router/blob/1.0.x/docs/API.md#components-1
但this.props決不會包含主或補充工具欄。我的代碼:
Main.js
ReactDOM.render(
<Router>
<Route path="/" component={App2}>
<Route path="/" components={{main: Home, sidebar: HomeSidebar}}/>
</Route>
</Router>,
document.getElementById('content')
);
App2.js
class App2 extends React.Component {
render() {
const {main, sidebar} = this.props;
return (
<div>
<Menu inverted vertical fixed="left">
{sidebar}
</Menu>
<Container className="main-container">
{main}
</Container>
</div>
);
}
}
export default App2;
Home.js
import React from 'react';
class Home extends React.Component {
render() {
return (
<div><h1>Home</h1></div>
);
}
}
export default Home;
HomeSidebar.js
class HomeSidebar extends React.Component {
render() {
return (
<div>
<p>I'm a sidebar</p>
</div>
);
}
}
export default HomeSidebar;
我使用電子反應開發工具。每當我調試時,this.props既不包含main也不包含sidebar。任何想法爲什麼發生這種情況?
我也試過使用IndexRoute,但它似乎不支持組件道具。
其他的事情我已經試過
ReactDOM.render(
<Router>
<Route component={App2}>
<Route path="/" components={{main: Home, sidebar: HomeSidebar}}/>
</Route>
</Router>,
document.getElementById('content')
);
ReactDOM.render(
<Router>
<Route path="/" component={App2} components={{main: Home, sidebar: HomeSidebar}}>
<Route path="admin" components={{main: Admin, sidebar: AdminSidebar}}/>
</Route>
</Router>,
document.getElementById('content')
);
我打消了我的關於有相同的路徑,因爲它並沒有幫助你的路線答案。但這就是我前一段時間解決類似問題的方法。 –