我不确定他们叫什么,但我有一个组件,它把它的样式作为一个带有道具的对象。
const PricingSection = ({
secDesc,
}) => {
return (
<Text
{...secDesc}
content={intl.formatMessage({ id: 'packages.description' })}
/>
);
};
PricingSection.propTypes = {
secDesc: PropTypes.object
};
PricingSection.defaultProps = {
secDesc: {
width: '50%',
m: 'auto',
textAlign: 'center',
pt: '20px',
color: '#6a7a8d',
lineHeight: '1.5rem',
},
}
我想为移动设备应用不同的witdh
。我知道如何在css中使用@media
标签,但我不知道如何在这个组件中编写@media
,也不知道如何实现我想要的。
发布于 2021-11-25 02:39:06
与其传递样式对象,不如将类应用于组件以便于维护。它还可以为不同大小设备的width
解决问题,因为你可以在它的css文件中为类添加媒体查询。
另一个建议是使用styled-components
。它们为在组件文件中添加媒体查询提供了强大的支持。
发布于 2021-11-25 02:51:19
你可以使用'react-device-detect‘并传递不同于父组件的宽度,如下所示:
enter code here
import isMobile from 'react-device-detect'
secDesc: {
width: isMobile ? '50%' : 'your value',
m: 'auto',
textAlign: 'center',
pt: '20px',
color: '#6a7a8d',
lineHeight: '1.5rem',
}
< PricingSection
secDesc={secDesc}
/>
https://stackoverflow.com/questions/70108838
复制相似问题