我正在将我的React应用程序设为SPA并将React Router 4
与react-router-dom
添加到其中。目前,我的家庭组件的入口点如下所示:
render (
<Provider store={store}>
<App>
<Home />
</App>
</Provider>,
document.getElementById('app')
);
对于另一个模块,我有一个不同的入口点,而不是<Home />
组件,我有一个不同的,但其余几乎看起来相同。
两个问题:
<BrowserRouter>
应该包裹<Provider store={store}>
或其他方式是否重要?看起来像react-router-dom
不使用redux商店,但我仍然认为<Provider>
应该包装<BrowserRouter>
- 请参阅下面的代码。这是新代码:
render (
<Provider store={store}>
<BrowserRouter>
<App />
</BrowserRouter>
</Provider>,
document.getElementById('app')
);
我处理这个问题吗?
他们不依赖于彼此。
看看他们的实现,特别是他们的渲染方法。
他们大多只是宣布几个contextTypes
,并渲染孩子。
就像是:
import React from 'react'
import { render } from 'react-dom'
import { Provider } from 'react-redux'
import { ConnectedRouter } from 'react-router-redux'
import store, { history } from './store'
import App from './app'
render(
<Provider store={store}>
<ConnectedRouter history={history}>
<div>
<App />
</div>
</ConnectedRouter>
</Provider>,
document.querySelector('#root')
)