javascript - 在地图数组函数中动态附加样式
问题描述
我想动态地将颜色附加到我的反应组件
这些是我要附加的颜色
this.color = ["#E91E63", "#2196F3", "#FDD835"]
我在 JSX 中映射一个数组(有点像这样)
{ this.state.graphData.map(data => {
(<VictoryArea name="area-1" data={data} style={{ data: { fill: "#E91E63" } }}/>)
})}
我的映射数组有 6 个元素。
我希望元素 1 和元素 4 具有相同的颜色,即 2 和 5、3 和 6。
问题:有人可以帮我弄清楚如何在填充中附加动态颜色吗?
解决方案
您可以使用map
函数的第二个参数,即元素的索引,以及%
运算符来动态获取颜色。
{this.state.graphData.map((data, index) =>
<VictoryArea
name="area-1"
data={data}
style={{ data: { fill: this.color[index % this.color.length] } }}
/>
)}
推荐阅读
- git - 如何始终在 Windows 11 终端中显示 git 分支?
- r - 单击 Shiny 上的日历时调整边距
- c# - 我在制作一串字符数组以在 Unity 引擎中打印到屏幕时遇到问题
- flutter - 使用 FormData 时出现错误
- javascript - 将对象分配给多个数组元素时的Javascript循环对象数组
- go - 如何使用 Golang 中的 time 包设置未来的时间
- flutter - 如何从 _storageToken.read() 调用中读取字符串值?
- go - 尝试发出 HTTP 请求并在使用 go/gin 的应用程序中返回该请求的结果
- python - Python - 等级迭代
- snowflake-cloud-data-platform - 如何调试显示“在数据库 XYZ 中列出模式时出现数据库错误”的 dbt 错误?