React路由器无法呈现适当的组件

时间:2017-01-20 16:11:17

标签: javascript reactjs

我有这样的路线结构

<Router history={hashHistory}>
    <Route name="Dashboard" path="/" component={App}>   
        <Route name='Not found' path="*" component={NotFound}/>
    </Route>
</Router>

当我在/ admin / product页面上工作时,子组件无法正常工作。我认为我写过“自行车”。在渲染函数中,我写了这样的代码:

render() {
   return (
       { this.props.children ? this.props.children : <My component /> }
   );
}

我被困在/ admin / product /:id / edit。当我更新我的表单时,组件完全重新呈现,我无法使用componentWillReceivePropscomponentWillUpdate。我尝试了debbug,但我的代码没有采用这种方法。

问题是我如何使用子组件并使用componentWillReceivePropscomponentWillUpdate函数

1 个答案:

答案 0 :(得分:0)

您应该查看文档。 https://github.com/ReactTraining/react-router/blob/master/docs/guides/RouteConfiguration.md

有这样的例子:

render((
  <Router>
    <Route path="/" component={App}>
      <Route path="about" component={About} />
      <Route path="inbox" component={Inbox}>
        <Route path="messages/:id" component={Message} />
      </Route>
    </Route>
  </Router>
), document.body)

网址:/inbox/messages/:id

组件:App -> Inbox -> Message

因此,在您的情况下,子组件的网址为/admin/offers/admin/offer/:id/edit