为管理区域配置 react-router-dom 的问题

Posted

技术标签:

【中文标题】为管理区域配置 react-router-dom 的问题【英文标题】:problem configuring react-router-dom for admin area 【发布时间】:2020-01-23 12:52:59 【问题描述】:

我有一个带登录的客户区,并且登录有一个不同的模板仪表板。 完成后我已经有一个渲染错误:“失败的道具类型:不支持以下属性:location,computedMatch。请删除它们 但是他还是渲染正常”。现在我的问题来了,我想添加一个行政区域 与另一个模板。但是我不能。

所以我有一个组件,在这个组件中我检查客户端是否登录,如果没有,我会重定向到 登录页面。在我的其他管理区域组件中,我不使用它,但我仍然被重定向到客户端登录屏幕。

<Router>
<Switch>
    /* area client */
    <Route component=Login path='/login' />


    <MuiThemeProvider theme=theme>
        <Layout>
            <Route exact path='/' component=Dashboard />
            ...

        </Layout>
    </MuiThemeProvider>
    /* area admin */
    <MuiThemeProvider theme=theme>
        <>
            <Route path='/admin/login' component=LoginAadmin />
            <Route path='/admin' component=Admin />

        </>
    </MuiThemeProvider>
</Switch>

有人可以帮我修复这些路线吗?

【问题讨论】:

在每条路径中准确添加并检查 我也试过了,但它一直在渲染仪表板并重定向到客户端登录 【参考方案1】:

我通过以下帖子设法解决了:Multiple Nested Routes in react-router-dom v4

来自@Igor Stetsiura 是这样的:

    render() 
    return (


        <MuiThemeProvider theme=theme>
            <Switch>
                <Route path='/admin/login' component=LoginAadmin />
                <Route path='/login' component=Login />

                <Route path='/admin/' component=( match ) =>
                    <LayoutAdmin>
                        <Route exact path='/admin' component=Admin />
                    </LayoutAdmin>
                 />

                <Route path='/' component=( match ) =>
                    <Layout>
                        <Route exact path='/' component=Dashboard />
                        ...

                    </Layout>
                 />

            </Switch>

        </MuiThemeProvider>

    );

【讨论】:

以上是关于为管理区域配置 react-router-dom 的问题的主要内容,如果未能解决你的问题,请参考以下文章

E02:后台管理系统开发-页面路由配置

路由react-router-dom的使用

通过一个用户管理实例学习react-router-dom知识

React使用react-router-dom配置路由

如何配置tomcat 7以在react中使用react-router-dom?

【Windows Server 2019】DNS服务器的配置与管理——DNS正向解析