React Router:为什么嵌套路由使 React 在同一页面上呈现

陈金都

我正在关注这个教程:React Router Tutorial在本教程中,作者做了两件事:

在另一条路线内嵌套子路线

render((
  <Router history={hashHistory}>
    <Route path="/" component={App}>
      {/* make them children of `App` */}
      <Route path="/repos" component={Repos}/>
      <Route path="/about" component={About}/>
    </Route>
  </Router>
), document.getElementById('app'))

添加 {this.props.children}

render() {
    return (
      <div>
        <h1>React Router Tutorial</h1>
        <ul role="nav">
          <li><Link to="/about">About</Link></li>
          <li><Link to="/repos">Repos</Link></li>
        </ul>

        {/* add this */}
        {this.props.children}

      </div>
    )
  }

在这些步骤之后,当我单击About上的链接时Repos,我不会转到新屏幕,但它会在同一屏幕中呈现。我不明白这里的逻辑。如果我可以执行上述 2 个步骤,为什么 React Router 会在同一屏幕上呈现。请为我解释。

射击

这里的想法是通过显示应该出现在每个子路由上的元素来减少重复。在您的情况下,它是导航。你更喜欢什么——必须在每个页面上手动添加导航还是自动添加到每个子路由?

React 是如何通过 children props 实现的,正如官方 React 文档所说:

在同时包含开始标签和结束标签的 JSX 表达式中,这些标签之间的内容作为特殊道具传递:props.children。

如果你想避免这种行为,要么你应该避免嵌套,要么你可以从 App 组件中删除导航并使其成为一个单独的组件。然后就可以将其一一包含在每个子组件中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

React Router V5:在动态路由中需要嵌套路由

来自分类Dev

react-router中的嵌套路由

来自分类Dev

react-router-relay中的嵌套路由

来自分类Dev

在React-Router中找不到嵌套路由的字体

来自分类Dev

react-router的嵌套路由中的“ children”类型是什么?

来自分类Dev

如何使React Router与静态资产,html5模式,历史API和嵌套路由一起使用?

来自分类Dev

React Router,在参数后嵌套路由

来自分类Dev

如果更改幻灯片项目,则React-slick滑块会停留在同一页面上

来自分类Dev

React Router问题:React在同一页面上渲染两个组件

来自分类Dev

react-router v5 –嵌套路由

来自分类Dev

如何在React JS中停留在同一页面上并呈现不同的组件

来自分类Dev

在React Router中的嵌套路由中刷新后看到空白页

来自分类Dev

React Router 6 alpha 4嵌套路由

来自分类Dev

React Router Dom嵌套路由,或者如何传递

来自分类Dev

使用react-hook-form在同一页面上添加两个表单

来自分类Dev

如何通过在React的同一页面上显示结果来替换表单

来自分类Dev

是否可以限制组件样式而不是内联样式,以防止同一页面上的多个React应用覆盖?

来自分类Dev

React Router和Links全部都指向同一页面?

来自分类Dev

嵌套路由不适用于react-router

来自分类Dev

React Hooks:组件未在嵌套路由中呈现

来自分类Dev

MeteorJS在同一页面上的嵌套列表

来自分类Dev

react-router-relay中的嵌套路由

来自分类Dev

ReactJS-未呈现react-router嵌套路径

来自分类Dev

React Router,在参数后嵌套路由

来自分类Dev

无法使用React Router获得嵌套路由以进行匹配

来自分类Dev

React-Router嵌套路由不起作用

来自分类Dev

React Router-无法渲染嵌套路由

来自分类Dev

React Router v4 - 嵌套路由问题

来自分类Dev

在 react-router v4 中看到嵌套路由中的空白页

Related 相关文章

  1. 1

    React Router V5:在动态路由中需要嵌套路由

  2. 2

    react-router中的嵌套路由

  3. 3

    react-router-relay中的嵌套路由

  4. 4

    在React-Router中找不到嵌套路由的字体

  5. 5

    react-router的嵌套路由中的“ children”类型是什么?

  6. 6

    如何使React Router与静态资产,html5模式,历史API和嵌套路由一起使用?

  7. 7

    React Router,在参数后嵌套路由

  8. 8

    如果更改幻灯片项目,则React-slick滑块会停留在同一页面上

  9. 9

    React Router问题:React在同一页面上渲染两个组件

  10. 10

    react-router v5 –嵌套路由

  11. 11

    如何在React JS中停留在同一页面上并呈现不同的组件

  12. 12

    在React Router中的嵌套路由中刷新后看到空白页

  13. 13

    React Router 6 alpha 4嵌套路由

  14. 14

    React Router Dom嵌套路由,或者如何传递

  15. 15

    使用react-hook-form在同一页面上添加两个表单

  16. 16

    如何通过在React的同一页面上显示结果来替换表单

  17. 17

    是否可以限制组件样式而不是内联样式,以防止同一页面上的多个React应用覆盖?

  18. 18

    React Router和Links全部都指向同一页面?

  19. 19

    嵌套路由不适用于react-router

  20. 20

    React Hooks:组件未在嵌套路由中呈现

  21. 21

    MeteorJS在同一页面上的嵌套列表

  22. 22

    react-router-relay中的嵌套路由

  23. 23

    ReactJS-未呈现react-router嵌套路径

  24. 24

    React Router,在参数后嵌套路由

  25. 25

    无法使用React Router获得嵌套路由以进行匹配

  26. 26

    React-Router嵌套路由不起作用

  27. 27

    React Router-无法渲染嵌套路由

  28. 28

    React Router v4 - 嵌套路由问题

  29. 29

    在 react-router v4 中看到嵌套路由中的空白页

热门标签

归档