pro-components icon indicating copy to clipboard operation
pro-components copied to clipboard

🐛[BUG] next-layout 快速切换菜单导致错误白屏

Open huadream opened this issue 3 years ago • 0 comments
trafficstars

提问前先看看:

https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/main/README-zh_CN.md

🐛 bug 描述

umi4初始项目,切换至react 18,顶部菜单模式快速切换会导致错误。 这可能是rc-overflow组件中的一个错误,但是先来这里求助看看。

The above error occurred in the <Overflow> component:

    at Overflow (http://localhost:8000/umi.js:102780:32)
    at InheritableContextProvider (http://localhost:8000/umi.js:99946:23)
    at http://localhost:8000/umi.js:98548:32
    at http://localhost:8000/umi.js:42028:53
    at Menu (http://localhost:8000/umi.js:42147:90)
    at BaseMenu (http://localhost:8000/umi.js:10904:20)
    at div
    at div
    at div
    at TopNavHeader (http://localhost:8000/umi.js:11811:58)
    at header
    at http://localhost:8000/umi.js:40252:25
    at http://localhost:8000/umi.js:40231:66
    at DefaultHeader (http://localhost:8000/umi.js:7350:70)
    at div
    at section
    at http://localhost:8000/umi.js:40268:63
    at http://localhost:8000/umi.js:40231:66
    at div
    at Provider (http://localhost:8000/umi.js:160529:31)
    at BaseProLayout (http://localhost:8000/umi.js:7796:71)
    at ProLayoutProvider (http://localhost:8000/umi.js:8276:21)
    at ProLayout (http://localhost:8000/umi.js:8117:18)
    at http://localhost:8000/.umi__plugin-layout__Layout.async.js:331:66
    at Suspense
    at RemoteComponent (http://localhost:8000/umi.js:27000:27)
    at Routes (http://localhost:8000/umi.js:26676:76)
    at Router (http://localhost:8000/umi.js:27979:15)
    at BrowserRoutes (http://localhost:8000/umi.js:26634:23)
    at FormProvider (http://localhost:8000/umi.js:47445:31)
    at LocaleProvider (http://localhost:8000/umi.js:40971:90)
    at ProviderChildren (http://localhost:8000/umi.js:38190:24)
    at LocaleReceiver (http://localhost:8000/umi.js:40843:90)
    at ConfigProvider (http://localhost:8000/umi.js:38305:13)
    at _LocaleContainer (http://localhost:8000/umi.js:19887:70)
    at Provider (http://localhost:8000/umi.js:18590:74)
    at InitialStateProvider (http://localhost:8000/umi.js:18863:64)
    at Provider (http://localhost:8000/umi.js:20471:34)
    at ProviderWrapper (http://localhost:8000/umi.js:20685:61)
    at Browser (http://localhost:8000/umi.js:26718:68)

Consider adding an error boundary to your tree to customize error handling behavior.
Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.

📷 复现步骤

1、使用pro create myapp 初始化项目 2、选择使用umi@4 3、修改使用react 18

    "react": "^18.0.0",
    "react-dom": "^18.0.0",

4、defaultSettings.ts 修改 layout: 'mix', 为 layout: 'top', 5、修改路由方便测试

  {
    path: '/welcome',
    name: 'welcome',
    icon: 'smile',
    component: './Welcome',
  },
  {
    path: '/admin/sub-page',
    name: 'sub-page',
    icon: 'smile',
    component: './Welcome',
  },
  {
    name: 'list.table-list',
    icon: 'table',
    path: '/list',
    component: './TableList',
  },

6、快速切换两个标签 image 7、 image

🏞 期望结果

💻 复现代码

© 版本信息

  • ProComponents 版本: 1.1.1
  • umi 版本 4
  • 浏览器环境 chrome、firefox
  • 开发环境 mac OS
  • React 18

🚑 其他信息

huadream avatar Jul 28 '22 06:07 huadream