-
Notifications
You must be signed in to change notification settings - Fork 2.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Bug] 约定式路由无法生成嵌套路由!! #8850
Comments
由于缺乏足够的信息,我们暂时关闭了该 Issue。请修改(不要回复) Issue 提供最小重现以重新开启。谢谢。 |
+1 ! |
而且这个 Outlet 组件感觉也不起作用 |
去掉约定式路由,就可以支持。
|
但是我们项目太大了,一直都用的是约定式路由,现在改成配置式的,改动量太大了; |
可以再打开这个 issue 吗?我看最小复现代码也有了的 @sorrycc |
现在没有 ./src/pages
├── nested
│ └── a.tsx
└── nested.tsx // nested.tsx
import { Outlet } from 'umi'
export default function N() {
return (
<div>
wrapper :
<Outlet />
</div>
)
} // nested/a.tsx
export default function N() {
return <div>aaa</div>
} |
这个我试了, 外层的 layout 的命名是有什么要求吗(都得是 nested ?)?我这么写之后, Outlet 拿到的属性是空的 |
文件夹和当级路由的名字一样即可。 ./src/pages
├── ${name}
│ └── a.tsx
└── ${name}.tsx |
好的,我试试哦,非常感谢! |
给一个最小复现。 |
@fz6m |
我们的情况和你们差不多,不过我们的情况是子路由下一般会有一个
我们的解决方案如下,你可以参考下:在
import Layout from './components/_layout';
export default function TestPage() {
return (
<Layout>
// 原本的子组件内容
</Layout>
)
} |
非常感谢你的解答和方案!我后面就是这么做的,但是这样有一个点不太好,就是layout里的内容一般是公用的对吧,就比如我 detail 的页面里有四个 tab 页,每次进到一个 tab(对应不同路由),layout 里的内容就会刷新一次,而实际上这些内容第一次进来的时候就应该已经渲染好了的,不知道我有没有讲明白 |
同样的问题,约定式路由下,umi4没有办法使用umi3 _layout嵌套路由的功能。 |
这是UMi3.x 的文档
最小化复现代码
src/pages/ui/_layout.tsx
The text was updated successfully, but these errors were encountered: