React ant design 页面样式穿透最简解决方式

直接上结论,使用 css module 做样式隔离,然后在隔离样式下用 :global 把antd穿透样式包住,示例如下
index.jsx

import React from "react";
import style from "./index.module.scss"; // 样式隔离
import { Button, Checkbox, Form, Input } from "antd";
const Login = () => (
  <div className={style.loginPage}>
    <Form
      name="basic"
      labelCol={{
        span: 8,
      }}
      wrapperCol={{
        span: 16,
      }}
      style={{
        margin: "0 auto",
        maxWidth: 600,
      }}
      autoComplete="off"
    >
      <Form.Item
        label="用户名"
        name="username"
        rules={[
          {
            required: true,
            message: "请输入用户名",
          },
        ]}
      >
        <Input />
      </Form.Item>
    </Form>
  </div>
);
export default Login;

index.module.scss

.loginPage {
  margin-top: 20px;
  //样式穿透
  :global {
    .ant-form {
      background-color: #f00;
    }
  }
}

参考文章 https://juejin.cn/post/6943774663524745247

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容