【发布时间】:2020-11-20 15:05:53
【问题描述】:
我有一个相当简单的 React 组件:
import styled from 'styled-components';
import { formatUrl } from "formatUrl";
const StyledWrapper = styled.div`
padding: 20px;
`;
const StyledImage = styled.img`
border: solid 5px green;
`;
const MyComponent = ({ data }) => {
const url = formatUrl(data.foo.url);
return (
<StyledWrapper>
<StyledImage></StyledImage>
</StyledWrapper>
);
};
export default MyComponent;
但我完全不知道如何将<StyledImage> 设置为具有background-image 和url({url})。该 URL 在 MyComponent 中被格式化,我无法真正在组件之外访问它。在这种情况下我应该如何处理?有没有通用的解决方案?
我想做这样的事情:
<StyledImage styles="background-image: url({url})"></StyledImage>
我知道我可以使用“props”来描述 StyledImage 的样式,但我不确定在那里格式化数据是否是个好主意,这不会很好地扩展
注意:我计划将来将我的样式组件移动到单独的文件中,以便导入 StyledWrapper 和 StyledImage(不确定它是否会改变任何内容)。
感谢任何提示。
【问题讨论】:
标签: css reactjs background-image styled-components