我有一个具有登录名的客户区,并且登录名具有不同的模板仪表板。
完成后,我已经出现渲染错误:“失败的道具类型:不支持以下属性: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>
有人可以帮我解决这些路线吗?
答案 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>
);
}