当前位置: 首页 > 知识库问答 >
问题:

Reactjs,使用不同的样式对数组的每个元素进行样式化

牛越
2023-03-14

我想创建一个包含一些元素的数组,然后迭代(使用.foreach或.map)它。但每个数组元素必须具有不同的样式。例如,我有一个数组如下所示:

["johnny red", "Stephanie blue", "Hans green", "Fifty Shades Of grey :d"] 

另外,我想在另一个组件中重用数组的一些单独元素。我怎么能那样做?

(假设每个元素中的最后一个单词是一个单独的样式,例如background-color或color,)

你能帮帮我吗?请给我一个建议,我会怎么做?

共有1个答案

甘英光
2023-03-14

不是很清楚您想要什么,但是您可以像这样将样式附加到组件:

null

const values = [
  {
    text: "one",
    css: { color: 'blue' }
  },
  {
    text: "two",
    css: { color: 'red' }
  },
];

const Test = props => {
  const { values } = props;
  
  return (
    <div>{values.map(
      (value, i) => <div key={i} style={value.css}>{value.text}</div>
    )}</div>
  );
}

ReactDOM.render(
  <Test values={values} />,
  document.getElementById("react")
);
<div id="react"></div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
 类似资料:
  • 我显示这样的数组: FieldListItem呈现方法是: 基本上,我使用切片只显示前3个元素,我想以不同的方式显示它们。例如,我想将第一个元素样式为标题-粗体,第二个元素为单行,字体应该更小,最后一个元素可以是多行,颜色应该不同。我有什么办法可以做到吗?

  • 我基本上是风格的长篇文章与各种图像分散贯穿。我想让第一个图像“浮:左”,第二个图像“浮:右”。我知道我可以这样设计图像:

  • 本文向大家介绍使用CSS为每个disabled 禁用的 元素设置样式,包括了使用CSS为每个disabled 禁用的 元素设置样式的使用技巧和注意事项,需要的朋友参考一下 要为每个禁用的<input>元素设置样式,请使用CSS:disabled选择器。您可以尝试运行以下代码来设置禁用元素的样式- 示例

  • 我在一个页面上有三个SVG图像。一个是“图像编辑器”,你可以输入一些文本,一个图标,拖动和左右缩放,等等。 另外两个SVG通过use元素使用来自顶部SVG的内容,并显示最终结果的预览。 当我在编辑器中编辑一些东西时,这两个预览会自动更新。很完美.但我不想在底部两个预览SVG中显示边界框、转换工具、指南等。 有没有一种方法可以对那些SVG的(阴影)DOM进行样式化(CSS)或操作(JS)以不显示这些

  • 问题内容: 我正在尝试通过将元素作为的子元素来更改元素的背景颜色,但我似乎无法使其正常工作,我尝试了使用不同元素的多种变体,但似乎没有任何效果 如果我不尝试定位元素,这将更改背景颜色 我怎样才能针对中的 元素? 问题答案: 我可以假设您的代码无法正常工作,因为&:nth-​​child(2)意味着您选择的是ImgGrid,它本身就是第二个孩子。尝试将ImgCell指定为nth- child(2):

  • 我在React web上使用样式化组件已经有一段时间了,但最近我开始开发一个React Native应用程序,我决定在中使用样式化的组件。当设计只有属性的组件时,比如默认的components,这是非常好的。 但是,我遇到的问题是,当我需要为具有多个样式属性的更复杂的组件设置样式时,例如、等。 当只有一个样式属性具有不同的名称时,我可以执行以下操作: 这完美无缺,但是当组件具有多种样式时,我不知道