如何创建添加全局CSS文件的ThemeProvider?

问题描述

您如何在React中将全局CSS文件添加自定义ThemeProvider组件?我正在为NPM构建组件库。因此,它将使另一个React应用程序能够全局使用css文件

我试图创建一个像这样的人:

import React from 'react';
import './global.css';

interface Types {
    children: React.ReactNode
}

export default (props:Types) => <div>{props.children}</div>

解决方法

我找到了一个整洁的解决方案。它使用一个css文件的内容创建一个<style />标签:

import React from 'react';
import styles from './global.css'

interface Types {
    children: React.ReactNode
}

export default (props:Types) => (
    <>
        <style dangerouslySetInnerHTML={{__html: styles.replace(' ','')}} />
        <div>{props.children}</div>
    </>
)