【发布时间】:2021-04-06 03:30:09
【问题描述】:
我有一个简单的 React 应用程序,它以 JSON 形式从外部源获取 CSS,样式如下所示:
{
"DOMElements": [
{
"padding": "1rem",
"margin": "5rem",
},
{
"boxSizing": "border-box",
"height": "10px",
}
]
}
因此,当我收到上述回复时,我希望得到如下结果:
import styled from 'styled-components';
const DOMElement1 = styled.div`
padding: 1rem,
margin: 5rem,
`;
const DOMElement2 = styled.div`
boxSizing: border-box,
height: 10px,
`;
const Page = ({ children }) => (
<>
<DOMElement1>{children[1]}</DOMElement1>
<DOMElement2>{childrem[2]}</DOMElement2>
</>
);
值得注意的是,未知的 DOMElement 数量,可能是 1,也可能是 50。
组件部分很简单,我可以做indexed map 并在每个循环中增加索引。
我面临的问题是 - 如何基于 JSON 响应创建动态样式组件道具?我需要在组件本身内执行此操作,因为我知道 DOMElements 的外观,但 styled-components 应该在组件功能之外......我错过了什么?它甚至可行吗?
【问题讨论】: