了解如何为404创建自定义页面?

问题描述 投票:0回答:2
<MuiThemeProvider theme={muiTheme}>
            <V0MuiThemeProvider muiTheme={muiThemeV0}>
                <React.Fragment>
                    <Helmet
                        defaultTitle="Life"
                        titleTemplate="Life: %s"
                    />

                    <Switch>
                        <UnderDevelopmentPage path="/underdevelopment" component={UnderDevelopmentPage}/>
                        <LayoutDefault exact path={MyProfilePage.Path} component={MyProfilePage}/>
                        <LayoutDefault path={MyResultsPage.Path} component={MyResultsPage}/>
                        <LayoutDefault path={MyPlansPage.Path} component={MyPlansPage}/>
                        <LayoutDefault path={MyFinancePage.Path} component={MyFinancePage}/>
                        <LayoutDefault path={MyBenefitsPage.Path} component={MyBenefitsPage}/>
                        <LayoutDefault path={BIClub.Path} component={BIClub}/>
                        <LayoutDefault path={BIClubCatalogPage.Path} component={BIClubCatalogPage}/>
                        <LayoutDefault path={BIClubCompanyPage.Path} component={BIClubCompanyPage}/>
                        <LayoutDefault path={BIClubDiscountPage.Path} component={BIClubDiscountPage}/>
                        <LayoutDefault path={MyEventsPage.Path} component={MyEventsPage}/>
                        <LayoutDefault path={CompanyEventsPage.Path} component={CompanyEventsPage}/>
                        <LayoutDefault path={OutsideEventsPage.Path} component={OutsideEventsPage}/>
                        <LayoutDefault path={HistoryPage.Path} component={HistoryPage}/>
                        <LayoutDefault path={OutboxPage.Path} component={OutboxPage}/>
                        <LayoutDefault path={InboxPage.Path} component={InboxPage}/>
                        <LayoutDefault path="/404" component={Notfound}/>



                    </Switch>
                    <LeftSidebar/>
                </React.Fragment>
            </V0MuiThemeProvider>
        </MuiThemeProvider>

我需要为一个没有任何路由的页面做什么布局默认?所有404页面?这是我的所有路由代码简单Redirect对我没有帮助

reactjs
2个回答
0
投票

不鼓励传递除<Route><Redirect>之外的任何东西,因为<Switch>将每个孩子视为路线而Redirect只是Route的别名。

尝试更改您的代码,如下所示:

<UnderDevelopmentPage path="/underdevelopment" component={UnderDevelopmentPage}/>
<LayoutDefault>
    <Switch>
        <Route exact path={MyProfilePage.Path} component={MyProfilePage}/>
        <Route path={MyResultsPage.Path} component={MyResultsPage}/>
        <Route path={MyPlansPage.Path} component={MyPlansPage}/>
        <Route path={MyFinancePage.Path} component={MyFinancePage}/>
        <Route path={MyBenefitsPage.Path} component={MyBenefitsPage}/>
        <Route path={BIClub.Path} component={BIClub}/>
        <Route path={BIClubCatalogPage.Path} component={BIClubCatalogPage}/>
        <Route path={BIClubCompanyPage.Path} component={BIClubCompanyPage}/>
        <Route path={BIClubDiscountPage.Path} component={BIClubDiscountPage}/>
        <Route path={MyEventsPage.Path} component={MyEventsPage}/>
        <Route path={CompanyEventsPage.Path} component={CompanyEventsPage}/>
        <Route path={OutsideEventsPage.Path} component={OutsideEventsPage}/>
        <Route path={HistoryPage.Path} component={HistoryPage}/>
        <Route path={OutboxPage.Path} component={OutboxPage}/>
        <Route path={InboxPage.Path} component={InboxPage}/>
        <Route component={Notfound}/>
    </Switch>

</LayoutDefault>

0
投票

嘿:D我认为你应该使用<route>嵌套在你的<LayoutDefault>上。

© www.soinside.com 2019 - 2024. All rights reserved.