当前位置: 首页 > 面试题库 >

将道具传递给实体UI样式

任飞鸣
2023-03-14
问题内容

给卡代码在这里: 卡

我如何更新卡片样式或任何材料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  },

我在网页上弄乱了组件卡样式。

顺便说一句,我通过以下道具:

<SimpleCard backgroundColor="#f5f2ff" />

请帮忙!


问题答案:

该答案是在4.0版之前严重过时的!

认真地说,如果要对功能组件进行样式设置,请使用makeStyles

在詹姆斯谭答案是4.x版本的最佳答案

下面的任何内容都是古老的:

使用时withStyles,您可以访问theme,但不能访问props

请注意,Github上有一个要求解决此功能的公开问题,某些评论可能会为您提供您可能感兴趣的替代解决方案。

使用props更改卡的背景颜色的一种方法是使用内联样式设置此属性。我已对原始代码箱进行了一些更改,您可以查看修改后的版本以了解实际操作。

这是我所做的:

  1. backgroundColor道具渲染组件:
    // in index.js
    if (rootElement) {
      render(<Demo backgroundColor="#f00" />, rootElement);
    }
  1. 使用此道具可以对卡片应用内联样式:

        function SimpleCard(props) {
          // in demo.js
          const { classes, backgroundColor } = props;
          const bull = <span className={classes.bullet}>•</span>;
          return (
            <div>
              <Card className={classes.card} style={{ backgroundColor }}>
                <CardContent>
                  // etc

现在,渲染的Card组件具有红色(#F00)背景

查看文档的“ 替代”部分,以了解其他选项。



 类似资料:
  • 问题内容: 我试图找到定义可以以一般方式使用的组件的正确方法: 当然,可以想象并在父组件和子组件之间进行渲染的逻辑。 对于这个问题,这是一个虚拟的实现: 问题是,每当您用于定义包装器组件时,如何将某些属性传递给其所有子组件? 问题答案: 用新道具克隆Children 您可以使用React.Children遍历子级,然后使用React.cloneElement使用新的道具(浅合并)克隆每个元素,例如

  • 我是一个相当新的反应,这是一个我正在努力解决的问题。

  • 问题内容: 我正在尝试找到定义可以以一般方式使用的某些组件的正确方法: 当然,您可以想象并作为该逻辑的示例,在父组件和子组件之间存在一种渲染逻辑。 对于这个问题,这是一个虚拟的实现: 问题是,每当您用于定义包装器组件时,如何将某些属性传递给其所有子组件? 问题答案: Cloning children with new props 您可以使用React.Children遍历子级,然后使用React.

  • 我试图使用在child中的函数中生成的值。js并将其传递给父级。所以我可以使用这个值来过滤子数组。 小孩js 是生成的值,我需要在父级中访问该值。js Parent.js 我是不是错过了一些显而易见的东西?控制台。日志for返回子项的所有值。js节点,但当用作道具时返回未定义。 如何让函数运行,这样我就可以用返回的值过滤结果? 谢谢

  • 问题内容: 我有一个对象,其中包含多个通用键值道具,我想将它们传递给一些jsx。像这样: 我希望这可以作为传递单个道具的功能: 这可能吗? 问题答案: 这可能吗? 是的,为什么您认为不可能,但是发送方式不正确。 的含义是: 因此,如果您默认不指定任何值,它将采用。要传递对象,您需要这样编写: 更新: 如果您有一个对象,并且希望将所有属性作为单独的属性传递,则将其编写为:

  • 问题内容: 在组件中,我需要将函数的返回值传递给属性。然后从属性需要被传递到的组件。新来的反应。不确定如何将属性从子级传递到组件。 问题答案: 您可以将函数从父级传递给子级,子级可以使用颜色调用该函数(很多操作都类似于事件处理程序)。在App中收到颜色后,使用.setState()将其分配给状态值,然后将其在render()中获取