下面实际上可以渲染 App 组件,加上路由指定的一个组件,this.props.children
它将在App.js
. 但它是 react-router v4 的首选或正确方法吗?
方法一
// in index.js
ReactDOM.render(
(
<Provider store={createStoreWithMiddleware(reducers)}>
<App>
<Router>
<div>
<Route exact={true} path="/" component={PostsIndex} />
<Route path="/posts/:id" component={PostsShow} />
</div>
</Router>
</App>
</Provider>
),
document.querySelector('#root')
);
// in App.js
export default class App extends Component {
render() {
return (
<div>
<h1>Welcome to this awesome App</h1>
{this.props.children}
</div>
);
}
}
方法二
// in index.js (App.js stays the same as above)
ReactDOM.render(
(
<Provider store={createStoreWithMiddleware(reducers)}>
<Router>
<App>
<Route exact={true} path="/" component={PostsIndex} />
<Route path="/posts/:id" component={PostsShow} />
</App>
</Router>
</Provider>
),
document.querySelector('#root')
);