Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从API传递获取的数据,并使用React和Sass将其用于设置按钮的样式_Javascript_Css_Reactjs_Sass - Fatal编程技术网

Javascript 从API传递获取的数据,并使用React和Sass将其用于设置按钮的样式

Javascript 从API传递获取的数据,并使用React和Sass将其用于设置按钮的样式,javascript,css,reactjs,sass,Javascript,Css,Reactjs,Sass,我从一个API中获取了一些数据,并使用该API创建了一个按钮列表。假设我收到的数据如下所示- { name: "bob", colorCode: "#DC7472" }, { name: "ben", colorCode: "#69DCD1" }, { name: "john", colorCode: "#1570C5" }, { name: "joe

我从一个API中获取了一些数据,并使用该API创建了一个按钮列表。假设我收到的数据如下所示-

  { name: "bob", colorCode: "#DC7472" },
  { name: "ben", colorCode: "#69DCD1" },
  { name: "john", colorCode: "#1570C5" },
  { name: "joe", colorCode: "#1550C4" }
];
{
 bob:false,
 ben:false,
 john:false,
 joe:false
}
使用这些数据,我创建了按钮,按钮的名称对应于每个数组项中的name属性

每个按钮的初始状态都为false,单击按钮后,它将切换为true和false

现在,当按钮的任何状态为true时,我想使用背景色作为相应的colorCode属性,并将按钮文本颜色设置为白色

类似地,当它为false时,我希望按钮文本具有相应的colorCode属性,背景颜色为白色

初始状态如下所示-

  { name: "bob", colorCode: "#DC7472" },
  { name: "ben", colorCode: "#69DCD1" },
  { name: "john", colorCode: "#1570C5" },
  { name: "joe", colorCode: "#1550C4" }
];
{
 bob:false,
 ben:false,
 john:false,
 joe:false
}
你可以在这里找到代码-

我正在努力研究如何使用React和Sass实现这一目标?

您可以这样做:

style={domain[each.domainName]? { color: each.colorCode, backgroundColor: "white" } : null}

更新:

请与您目前拥有的代码共享。@TJ您可以在stackblitz上找到我的代码。您是在使用状态组件还是功能组件与react?@JérômeW使用功能组件谢谢@TJ。我一直在努力解决这个问题。你可以做这个
style={domain[each.domainName]?{color:each.colorCode,backgroundColor:“white”}:{color:“white”,backgroundColor:each.colorCode}
这样文本颜色和背景就会切换correctly@TonyZhang是的,我做到了。非常感谢:)@MohitChauhan顺便说一句,您也可以这样做:,直接使用api响应作为初始值state@TJ现在我可以把头绕在它身上了。但如果我想添加更多样式,而不考虑三元运算符,该怎么办呢。这两种情况下都有相同的样式