在管理区域配置react-router-dom时出现问题

时间:2019-09-23 12:39:12

标签: reactjs react-router-dom

我有一个具有登录名的客户区,并且登录名具有不同的模板仪表板。 完成后,我已经出现渲染错误:“失败的道具类型:不支持以下属性:locationcomputedMatch。请删除它们 但是他仍然表现得很正常。” 。现在是我的问题,我想添加一个管理区域 与另一个模板。但是我不能。 enter image description here

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

<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 个答案:

答案 0 :(得分:0)

我设法通过以下信息来解决: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>

    );
}