gpt4 book ai didi

reactjs - 将 props 传递给 Material UI 样式

转载 作者:行者123 更新时间:2023-12-03 12:58:16 27 4
gpt4 key购买 nike

给定 Card 代码,如here 。如何更新卡片样式或任何 Material UI 样式:

const styles = theme => ({
card: {
minWidth: 275,
},

如下:

const styles = theme => ({
card: {
minWidth: 275, backgroundColor: props.color
},

当我尝试最新的一个时,我得到了

Line 15:  'props' is not defined  no-undef

当我将代码更新为:

const styles = theme =>  (props) => ({
card: {
minWidth: 275, backgroundColor: props.color
},

还有

 const styles  = (theme ,props) => ({
card: {
minWidth: 275, backgroundColor: props.color
},

而不是

const styles = theme => ({
card: {
minWidth: 275, backgroundColor: props.color
},

我的网页组件卡样式很乱。

顺便说一下,我传递的 Prop 如下:

<SimpleCard backgroundColor="#f5f2ff" />

请帮忙!

最佳答案

删除了旧答案,因为它没有存在的理由。

这就是您想要的:

import React from 'react';
import { makeStyles } from '@material-ui/core';

const useStyles = makeStyles({
firstStyle: {
backgroundColor: props => props.backgroundColor,
},
secondStyle: {
color: props => props.color,
},
});

const MyComponent = ({children, ...props}) =>{
const { firstStyle, secondStyle } = useStyles(props);
return(
<div className={`${firstStyle} ${secondStyle}`}>
{children}
</div>
)
}

export default MyComponent;

现在您可以像这样使用它:

<MyComponent color="yellow" backgroundColor="purple">
Well done
</MyComponent>

Official Documentation

关于reactjs - 将 props 传递给 Material UI 样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48879517/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com