import styled from 'styled-components';
import {Button} from 'antd';
const Btn = styled(Button)`
background: red;
`;
問題: 用styled-components
包裹antd
組件瘤袖,樣式?jīng)]有被覆蓋?查看head
中荠瘪,styled
的樣式在antd
樣式前面茵休?
????其實是一個
webpack
加載css
過程的問題,原因是在你當前代碼加載之前造成,已經(jīng)使用過styled-components
穗泵,但是沒有引用antd
,導致styled-components
的動態(tài)樣式<script>
已經(jīng)插入到<head>
中谜疤,而antd
的樣式還沒有加載佃延,這樣導致你在后面使用styled
包裹antd
樣式時,antd
的樣式才會插入<head>
夷磕,但是你的styled-component
包裹的樣式只會插入到之前定義好的<script>
履肃,優(yōu)先級就會比antd
的樣式低。
?????這是webpack
的開發(fā)環(huán)境對css
的處理順序導致的坐桩,但是在生產(chǎn)環(huán)境不會有尺棋,因為antd
樣式加載會變成靜態(tài)已經(jīng)打包好的css
文件,而styled-components
仍然是動態(tài)的绵跷。