react-router:嵌套的路由组件在父路由组件之前安装?

con*_*ser 3 javascript nested-routes reactjs react-router

我有这样的嵌套路线:

<Route path="modules" component={Modules}>
  <Route path=":moduleId" component={Module}/>
</Route>
Run Code Online (Sandbox Code Playgroud)

我注意到,模块之前安装模块坐骑。这是嵌套路由的预期功能吗?我问是因为我在模块中发生了一些数据收集,需要解决这些问题才能使模块按预期呈现。

如果我能看到模块在挂载之前就已经渲染过,那怎么可能?

sle*_*ica 5

这不是特定于的react-router。在React Component生命周期中:

  • 孩子们被安置在父母面前。componentWillMount儿童优先。

  • 父母在孩子面前下马。componentWillUnmount首先运行父级。

这样考虑:如果要构建某些东西,首先将较小的部分逐步连接到较大的部分,直到获得完整的东西。如果要拆卸,请先卸下较大的零件,然后再拆开每个零件,直到返回组件为止。