reactjs 的 css 模块化工具 styled-components 升级后 createGlobalStyle 废除,使用 createGlobalStyle 的方案

Posted zhourongcode

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了reactjs 的 css 模块化工具 styled-components 升级后 createGlobalStyle 废除,使用 createGlobalStyle 的方案相关的知识,希望对你有一定的参考价值。

在 styled-components 升级到 4 版本后设置全局属性的 createGlobalStyle 这个 api 被废除,替代的 api 是 createGlobalStyle 与过去组织代码的方式有差异代码如下。

style.js 文件中的代码:

import  createGlobalStyle  from 'styled-components'

export const GlobalStyle = createGlobalStyle`
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video 
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section 
    display: block;

body 
    line-height: 1;

ol, ul 
    list-style: none;

blockquote, q 
    quotes: none;

blockquote:before, blockquote:after,
q:before, q:after 
    content: '';
    content: none;

table 
    border-collapse: collapse;
    border-spacing: 0;

`

index.js 文件中的代码如下:

import React,  Fragment  from 'react';
import ReactDOM from 'react-dom';
import  GlobalStyle   from './style.js';
import App from './App';

ReactDOM.render(
  <Fragment>
    <GlobalStyle />
    <App />
  </Fragment>, 
document.getElementById('root'));

以上是关于reactjs 的 css 模块化工具 styled-components 升级后 createGlobalStyle 废除,使用 createGlobalStyle 的方案的主要内容,如果未能解决你的问题,请参考以下文章

ReactJS webpack实现JS模块化使用的坑

样式道具中CSS变量的Reactjs问题

CSS模块不适用于反应组件

在 ReactJS + Typescript 中加载 CSS 模块并重新连接反应

在 Reactjs 中使用样式化组件而不是 CSS 模块有啥好处 [关闭]

如何避免 ReactJs 中的 CSS 冲突