Skip to content
This repository has been archived by the owner on Aug 11, 2020. It is now read-only.

🧐[问题]版本5.08升级到6.2.0之后导航栏加载不出来 #545

Open
LB-nan opened this issue Jul 9, 2020 · 6 comments
Open

🧐[问题]版本5.08升级到6.2.0之后导航栏加载不出来 #545

LB-nan opened this issue Jul 9, 2020 · 6 comments

Comments

@LB-nan
Copy link

LB-nan commented Jul 9, 2020

🧐 问题描述 [详细地描述问题,让大家都能理解]

问题一:
我们项目需要mix模式进行开发,把原有项目的依赖项@ant-design/pro-layout"升级到6.2.0版本之后,修改配置为

"layout": "mix",
"splitMenus": true,

项目启动之后导航栏并未渲染,到编辑器,项目代码重新Ctrl+S保存一次,让项目自行,不是F5刷新,然后导航栏就渲染出来了。

问题二:
基于以上问题,我看了BasicLayout.tsx文件,开头的引入部分

import ProLayout, {
  MenuDataItem,
  BasicLayoutProps as ProLayoutProps,
  Settings,
  DefaultFooter,
  //SettingDrawer,
} from '@ant-design/pro-layout';

这部分引入的代码的前几个编辑器报错提示都没有导出,然后我看了源码发现是下面这样写的:

export type { ProSettings as Settings, ProSettings } from './defaultSettings';
export type { MenuDataItem } from './typings';
declare const PageHeaderWrapper: import("react").FC<import("./PageContainer").PageContainerProps>;
export type { FooterProps, TopNavHeaderProps, BasicLayoutProps, RouteContextType, HeaderProps, SettingDrawerProps, SettingDrawerState, };

请问这种export type {xxx} 的是什么意思,然后要如何使用,是否是因为这个导致导航栏第一次无法渲染。

问题三:
我的导航栏是通过接口加载的,是否有这个原因,然后我看了导航栏加载的例子(https://prolayout.ant.design/menu),发现没有异步加载的示例,我有尝试用里面的写法,只是把本地文件换成接口mock,然后无效,是否有异步加载的例子?

@LB-nan
Copy link
Author

LB-nan commented Jul 9, 2020

问题三的那个我发现和问题一一样,我设置了

menuHeaderRender={(logoDom, titleDom) => (
        <Link to="/">
          {logoDom}
          {titleDom}
        </Link>
      )}

刚开始是没有导航栏的,然后点击一下这个标签的内容,导航栏就渲染出来了。

@LB-nan
Copy link
Author

LB-nan commented Jul 9, 2020

我在请求完成之后history.push('/');就可以了,有没有其他优雅一点的解决方案。

请求部分代码:

effects: {
    *fetch(_, { call, put }) {
      const response = yield call(getMenus);
      history.push('/');
      yield put({
        type: 'get',
        payload: response,
      });
    },
  },

@chenshuai2144
Copy link
Collaborator

chenshuai2144 commented Jul 9, 2020

@LB-nan 应该是个 bug,我已经修了,你安装一下最新版

@chenshuai2144
Copy link
Collaborator

export type 是 ts 支持的,代表这是个类型,不会build

@LB-nan
Copy link
Author

LB-nan commented Jul 9, 2020

@chenshuai2144 我安装了6.2.2版本,有bug,重新启动项目后,导航的顶部导航栏和侧边导航栏一致,且顶部没有选中,然后再点击一下导航栏恢复正常

1

他原本应该是:
image

但是导航栏渲染的问题是正常的了。

@snice
Copy link

snice commented Jul 10, 2020

@chenshuai2144 我安装了6.2.2版本,有bug,重新启动项目后,导航的顶部导航栏和侧边导航栏一致,且顶部没有选中,然后再点击一下导航栏恢复正常

1

他原本应该是:
image

但是导航栏渲染的问题是正常的了。

同样遇到了,直接运行的master中的example

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants