首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >React JS将CSS-in-JS转换为CSS字符串

React JS将CSS-in-JS转换为CSS字符串
EN

Stack Overflow用户
提问于 2017-12-14 16:27:46
回答 1查看 3.9K关注 0票数 4

在react项目中,最终用户可以使用工具生成CSS。

我找到了如何生成JS对象并将其传递给style={}属性,但是我希望将生成的JS对象转换为CSS字符串,这样我就可以保存它并在其他地方使用它。

我想将JSObject转换为CSS:

JSObject样例-输入

代码语言:javascript
复制
JSObject: {
  lineHeight: 1,
  fontSize: 15,
  padding: 0,
  margin: 0,
  msBoxShadow: '0 0 1px 1px #000',
  MozBoxShadow: '0 0 1px 1px #000',
  OBoxShadow: '0 0 1px 1px #000',
  WebkitBoxShadow: '0 0 1px 1px #000',
  boxShadow: '0 0 1px 1px #000'
}

期望CSS示例输出

代码语言:javascript
复制
.cssClass{
    line-height: 1;
    font-size: 15px;
    padding: 0px;
    margin: 0px;
    box-shadow: rgb(0, 0, 0) 0px 0px 1px 1px;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-14 17:37:13

我为我的问题找到了一个解决方案,并在这里张贴给未来的搜索者。

我使用这个简单的函数将JS对象转换为CSS字符串:

代码语言:javascript
复制
export const JSToCSS = (JS) => {
    let cssString = "";
    for (let objectKey in JS) {
        cssString += objectKey.replace(/([A-Z])/g, (g) => `-${g[0].toLowerCase()}`) + ": " + JS[objectKey] + ";\n";
    }

    return cssString;
};
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47818028

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档