umijs / umi

A framework in react community ✨
https://umijs.org
MIT License
15.08k stars 2.64k forks source link

[Feature Request] 如何单独渲染 /login 路由,而不是嵌套在 prolayout 里 #9436

Closed Xekin97 closed 1 year ago

Xekin97 commented 1 year ago

Background

场景:

image

目前 /login 和 /regis,没有找到可以配置到 prolayout 之外的方法

Proposal

可以将 layout 组件暴露在 /layouts/index.tsx 中,例如

const Layout = ({ Wrapper }) => {
if (location.pathname === '/login') return <Outlet />
    return (
          <Wrapper>
            <Outlet />
          </Wrapper>
    )
}
drizzlesconsin commented 1 year ago

layout: false

Xekin97 commented 1 year ago

layout: false

如果这样的话,只能手写一遍 routes ,相应的菜单名称也不能使用自带的 locale 了。

dayTimeAffect commented 1 year ago

我也想了解,翻了很久文档,就必须在prolayout中

xierenyuan commented 1 year ago

layout: false 是指当前的路由配置 不走 layout 布局 可以看 这里 https://github.com/umijs/umi/blob/master/examples/ant-design-pro/config/routes.ts#L4

dayTimeAffect commented 1 year ago

layout: false 是指当前的路由配置 不走 layout 布局 可以看 这里 https://github.com/umijs/umi/blob/master/examples/ant-design-pro/config/routes.ts#L4

我发现layout: false在umi4脚手架创建的项目,与antdPro脚手架创建的项目中有不同的表现。 在antdPro创建的项目中我就能自由的布局。

暂时还没有时间去研究为什么会这样

zhansingsong commented 1 year ago

layout: false 是指当前的路由配置 不走 layout 布局 可以看 这里 https://github.com/umijs/umi/blob/master/examples/ant-design-pro/config/routes.ts#L4

文档中也没有记录 layout: false 属性啊,查看类型声明也没有记录。这个属性好随性,感觉只有维护人知道似的