样式(tailwind/SCSS 样式表)未应用于 React 中动态插入的 HTML

Posted

技术标签:

【中文标题】样式(tailwind/SCSS 样式表)未应用于 React 中动态插入的 HTML【英文标题】:Styling(tailwind/SCSS stylesheet) not getting applied to dynamically inserted HTML in React 【发布时间】:2021-07-27 18:59:29 【问题描述】:

我有一个使用 typescript、scss 和 tailwind 的 React 应用程序。 Tailwind 运行良好,Sass 也是如此。 当我尝试将 htmluseEffect 钩子插入div 时,问题就出现了。

HTML:

<main className='mx-20 mt-12 text-gray-600'>
    <div ref=mdContainerRef></div>
</main>

useEffect及其他相关代码:

    const mdContainerRef = useRef<null | HTMLDivElement>(null);

    useEffect(() => 
            if (mdContainerRef.current) 
                mdContainerRef.current.innerHTML = '<p className="text-8xl bg-green-600">Test</p>';
            

            setArticle(data);
        )();
    , [slug, mdContainerRef]);

tailwind 类作用于渲染 HTML 等其他内容(从函数返回,例如:main 元素)。

我检查了 chrome 上的 devtools,没有迹象表明正在应用顺风样式(但内联样式有效。)

开发工具图片:

如果您需要任何其他详细信息,请告诉我,提前谢谢!!!

【问题讨论】:

【参考方案1】:

您在 react 生态系统之外插入 html 元素,因此您需要使用 class 而不是 className

mdContainerRef.current.innerHTML = '<p class="text-8xl bg-green-600">Test</p>';

【讨论】:

以上是关于样式(tailwind/SCSS 样式表)未应用于 React 中动态插入的 HTML的主要内容,如果未能解决你的问题,请参考以下文章

IE 不应用样式

查看哪种样式的样式表应用于特定元素

react-datepicker 样式未应用于已部署的构建

将样式应用于选定文本未选定框

Java FX:粗体和斜体样式未应用于某些字体系列

Tailwind CSS 样式未应用于 Vercel 上已部署的 NextJs 应用程序