umijs / dumi

📖 Static Site Generator for component library development
https://d.umijs.org
MIT License
3.6k stars 1.18k forks source link

bug: 增加自定义 layout 后,在 iframe 模式或者新页面模式下不能正常展示 #1201

Open LyunKi opened 2 years ago

LyunKi commented 2 years ago

问题复现:

  1. 为了实现切换 dark/light 模式,参考官网文档增加如下自定义 .dumi/theme/layout
    
    import React from 'react'
    import Layout from 'dumi-theme-default/es/layout'
    import { ConfigProvider, CLOUD_THEME_PACK } from '@cloud-design/components'
    import { usePrefersColor } from 'dumi/theme'
    import { Appearance } from 'react-native'

export default ({ children, ...props }) => { const [color] = usePrefersColor() const prefer = (color === 'auto' ? Appearance.getColorScheme() ?? 'light' : color) ?? 'light' const themePack = CLOUD_THEME_PACK[prefer] return ( <Layout {...props}>

{children}
</Layout>

) }



2. 正常生效,但是对于 Overlay 组件,需要启用 iframe 模式,发现 code demo 一片空白
3. 经检查,打开新页面和 iframe 模式下, 修改不生效,并且之前如果不增加自定义 layout 是可以正常展示的

疑问: 
这里对于 iframe 模式 和打开新页面情况下,需要做其他特殊处理么? 如果需要,文档里似乎没有体现

复现地址
https://github.com/LyunKi/cloud-design

pnpm i
pnpm docs:dev
选择 Overlay 组件
LyunKi commented 2 years ago

增加一个分支 dumi-bug-1200,防止后续 master 分支开发导致无法复现

FrankFan commented 1 year ago

遇到了同样类似的问题,有解决办法吗?