Skip to content
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

子应用安装使用 [email protected],基座加载子应用渲染后,部分 style 缺少添加样式隔离。 #974

Open
Hingyu-Ho opened this issue Nov 22, 2023 · 8 comments
Labels
bug Something isn't working Working on it Working on this issue

Comments

@Hingyu-Ho
Copy link

Hingyu-Ho commented Nov 22, 2023

问题描述

基座应用加载子应用渲染后,子应用 antd 里的 组件渲染后缺失样式隔离。
基座、子应用都未使用 React-router,基座只负责 micro-app,子应用只渲染了 组件。

复现步骤

1.直接加载
2. 只渲染了 antd 组件。

上传截图

基座应用渲染后
image

子应用渲染后
image

环境信息

  • micro-app版本:1.0.0-rc2
  • 主应用前端框架&版本:react17
  • 子应用前端框架&版本:react17
  • 构建工具&版本:cra(webpack)
/**
* @desc 基座运行在 13007
*/
//  index.tsx
import ReactDOM from 'react-dom/client';
import reportWebVitals from './reportWebVitals';
import App from './App';
import './global.scss';
import microApp from '@micro-zoe/micro-app';

microApp.start();
const root = ReactDOM.createRoot(document.getElementById('root') as HTMLElement);
root.render(<App />);
reportWebVitals();

// App.tsx
export default function App() {
    return <micro-app name={'ef-device-user-base'} url={'//:localhost:3700'} iframe disable-memory-router ></micro-app>;
}

/**
* @desc 子应用运行在 3007
*/
// index.tsx
import ReactDOM from 'react-dom/client';
import reportWebVitals from './reportWebVitals';
import App from './App';
import './global.scss';
import microApp from '@micro-zoe/micro-app';

const root = ReactDOM.createRoot(document.getElementById('root') as HTMLElement);
root.render(<App />);
reportWebVitals();

// 子应用 App.tsx
export default function App() {
    return <Button type="primary">12312</Button>;
}

可能性猜想

antd 在渲染 Button 时是动态插入 style 的。我怀疑是监听动态插入样式这步的问题。
image
image

@bailicangdu
Copy link
Contributor

应该是:where选择器问题,会在后续版本中修复

@bailicangdu bailicangdu added bug Something isn't working Working on it Working on this issue labels Nov 23, 2023
@Hingyu-Ho
Copy link
Author

应该是:where选择器问题,会在后续版本中修复

多谢!🙏

想了解下后续版本的排期修复计划。

@peiziheng
Copy link

您好, 关于antdv 的:where选择器, 您什么时候修改css的优先级问题

@peiziheng
Copy link

应该是:where选择器问题,会在后续版本中修复

我从我的项目中碰到了,antdV4.0,
问题猜测:正确渲染的css上下顺序为:
micro-app[name=dataProcess] .ant-btn-primary{
}
:where(.css-dev-only-do-not-override-19yxfbp).ant-btn-primary{
}

样式有问题的渲染,上下顺序为:
micro-app[name=dataProcess] :where(.css-dev-only-do-not-override-19yxfbp).ant-btn-primary{
}
micro-app[name=dataProcess] .ant-btn-primary{
}

希望能给你提供思路

@katoto
Copy link

katoto commented Apr 23, 2024

应该是:where选择器问题,会在后续版本中修复

修复了吗 哪个版本

@jiaozhiye
Copy link

这个问题修复了吗?现在有些新的项目切到antd5.x版本,都是:where选择器

@sunxunacc
Copy link

求更新

@htfire
Copy link

htfire commented Dec 17, 2024

image
先关闭where了

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working Working on it Working on this issue
Projects
None yet
Development

No branches or pull requests

7 participants