当前位置: 首页 > 知识库问答 >
问题:

反应路由器嵌套路由。不呈现子路由

赏开宇
2023-03-14

我有一个名为Dashboard的父组件,它被呈现为路由,如下所示:

const Routes = ({ authenticated }: { authenticated: boolean }) => (

    <Switch>
        <AuthenticatedRoute path="/home" exact={true} component={Dashboard} authenticated={authenticated} />
        <UnauthenticatedRoute path="/login" exact={true} component={Login} authenticated={authenticated} />
        <AuthenticatedRoute path="/onboarding" exact={true} component={Onboarding} authenticated={authenticated} />
        <AuthenticatedRoute path="/meets" exact={true} component={Meets} authenticated={authenticated} />
        <Route component={NotFound} />
    </Switch>

)

export default Routes
class Dashboard extends React.Component<IProps, {}> {
    public render() {
        return (
            <div>
                <Navigation />

                <Route exact={true} path="/home" component={Home} />
                <Route exact={true} path="/home/profile" component={Profile} />
                <Route exact={true} path="/home/messages" component={Messages} />

                HALLO
            </div>
        )
    }
}

我试着嘲笑每个人在嵌套路由上的解决方案,但我似乎无法解决我的问题。

共有1个答案

缪远
2023-03-14

因为您在顶部路由配置中使用的是acceat道具。扔掉它:

<AuthenticatedRoute path="/home" component={Dashboard} authenticated={authenticated} />

而且,exceat就足够了,您不必像exact={true}那样使用它。

 类似资料:
  • 我的目标是让http://mydomain/route1呈现React组件Component1,让http://mydomain/route2呈现component2。因此,我认为编写如下路线是很自然的: http://mydomain/route1按预期工作,但http://mydomain/route2反而呈现Component1。 然后我读了这个问题,并将路线改为:

  • 问题内容: 尝试执行以下操作,但不起作用。 正如文档所述,Switch元素内仅允许Route和Redirect元素。如何在不显式地将HomePage和UserPage包裹在App中或没有将错误页面包裹在App中的情况下使其工作? 问题答案: 当我开始开发“通用React应用”时,第一页的加载是通过服务器端渲染完成的,但是我也遇到了类似的问题,因为React- Router刚刚更新到4.0。您应该考

  • 我一直在读这篇文章:多嵌套路由反应路由器多姆v4和一些喜欢它,我不能让我的情况下工作。 这里有两个repl在尝试文章中描述的每种方法——也许我错过了什么? 如果您可以让这些REPL中的任何一个工作,我可能已经准备好了——但我更喜欢模块化的方法。谢谢你的帮助。 模块化为路线https://codepen.io/anon/pen/XGPKwZ?editors=0010 航线周围的集装箱https://

  • 考虑以下事项: 我有一个应用模板,一个HeaderTemboard,和参数化的路由集与相同的处理程序(在应用模板)。我希望在没有找到东西的时候能够服务404路线。例如, /CA/SanFrancisco应该由区域查找和处理,而 /SanFranciscoz应该是404。 下面是我如何快速测试路线的。 问题是 /SanFranciscoz总是由区域页面处理,但我希望它是404。此外,如果我向第一个路

  • react&React-Router的新功能。我正在使用react-router-4 我有以下组件-login-home-header-sidebar-content 登录组件没有标题或侧栏。 这就是我的路由 应用程序JS 然后在我的Home组件中,我有侧边栏和内容。 home.js呈现方法 侧边栏组件有一个链接,该链接具有“to”值“/home/dashboard”。 不幸的是,这并不奏效。单击

  • 如果我将路由折叠起来,这样看起来就像: 工作很好。我嵌套的原因是因为我将在“dashboard”下有多个子项,并且希望它们都在URL中以为前缀。