css - 如何从 ReactJS 的内联样式中检索纯 CSS?
问题描述
我正在使用内联样式来设置 HTML DOM 元素的样式。我想显示转换后的纯 CSS。我正在使用组件状态更改内联样式。
我执行以下操作。它打印样式对象。例如,
{"display":"flex","flexDirection":"column"}
import React, {Component} from 'react';
class Sample extends Component {
constructor(props) {
super(props);
this.state = {
style: {
display: "flex",
flexDirection: "column"
},
}
}
render() {
const {style} = this.state;
return (
<div>
<div style={style}>
<div id={1}>1</div>
<div id={2}>2</div>
<div id={3}>3</div>
<div id={4}>4</div>
</div>
<div>{JSON.stringify(style)}</div>
</div>
);
}
}
export default Sample;
我希望输出为纯 CSS 而不是内联样式对象。例如,"display: flex; flex-direction: column;"
解决方案
这是一些技巧,但它会满足您的要求。
import React, {Component} from 'react';
class Sample extends Component {
constructor(props) {
super(props);
this.state = {
style: {
display: "flex",
flexDirection: "column"
},
}
}
getStyle(){
let styled = '{';
Object.keys(this.state.style).forEach(e => {
let key = e.split(/(?=[A-Z])/).join('-').toLowerCase()
styled += `${key}:${this.state.style[e]};`
});
styled += '}'
return styled;
}
render() {
const {style} = this.state;
return (
<div>
<div style={style}>
<div id={1}>1</div>
<div id={2}>2</div>
<div id={3}>3</div>
<div id={4}>4</div>
</div>
<div>{this.getStyle()}</div>
</div>
);
}
}
export default Sample;
推荐阅读
- arrays - 如何将数字转换为特定的字节数组?
- javascript - 套接字发射神秘地不起作用
- javascript - HTML2Canvas 在 jspdf 上生成模糊图像
- azure-pipelines - 动态获取 Azure 管道变量值
- javascript - 图像重叠
- google-apps-script - 当我运行这个脚本时,我经常遇到超时错误,而不是一直。有没有办法改进这个脚本,让它运行得更快?谷歌脚本
- c# - 如何在网格单元中找到每个质心的纬度和经度
- angular - 如何从自定义节点模块调用组件的功能
- c++ - 如何使用 MingW64/CMake/VSC 正确安装/设置外部库
- python - CNN模型没有加载权重