【发布时间】:2017-10-12 15:15:15
【问题描述】:
我试图将 BrowserRouter 移出我的组件。我的应用看起来像这样:
class App extends Component {
constructor(props) {
super(props);
this.state = {
}
}
render() {
return (
<BrowserRouter>
<main>
<Menu />
<Switch>
<Route exact path="/about" component = {About} />
<Route exact path="/admin" component = {BooksForm} />
<Route exact path="/cart" component = {Cart} />
<Route exact path="/" component = {BookList} />
</Switch>
<Footer />
</main>
</BrowserRouter>
);
}
}
一切正常。但是当我拉起 BrowserRouter 时,我的 index.js 看起来像这样:
const renderApp = () => (
<Provider store={createStoreWithMiddleware(reducers)}>
<BrowserRouter>
<App/>
</BrowserRouter>
</Provider>
)
const root = document.getElementById('app')
render(renderApp(), root)
它停止工作。当我单击其中一个链接时,网址会发生变化,但我的应用程序没有变化。只有当我重新加载页面时,它才会呈现新的组件。如何在不将路由器组件与 Switch 放在同一组件中的情况下使其工作?
【问题讨论】:
标签: javascript reactjs react-router