在react router v4中,为什么BrowserRouter只在主渲染函数内部工作?

时间:2017-05-15 15:00:56

标签: javascript reactjs react-router react-redux react-router-v4

出于某种原因,我无法找到将整个路由器作为组件导入到将其附加到正文的主render函数中的方法。

当我这样做时,一切正常:

render(
  <Provider store={store}>
    <Router history={history}>
      <AppProvider store={store}/> // Containing the routing
    </Router>
  </Provider>,
  document.getElementById('root')
)

但是当我把所有内容都移到AppProvider这样的

render(
  <AppProvider store={store} history={history}/>,
  document.getElementById('root')
)

AppProvider:

class AppProvider extends Component {
  constructor (props) {
    super(props)
    this.state = {...}
  }

  render () {
    return (
      <Provider store={this.props.store}>
        <Router history={this.props.history}>
          /* ROUTES */
        </Router>
      </Provider>
    )
  }
}

export default withRouter(connect(mapStateToProps, {})(AppProvider))

我得到了

  

未捕获的TypeError:无法读取属性&#39; route&#39;未定义的

任何想法为什么?

0 个答案:

没有答案