gpt4 book ai didi

javascript - ClassName 只从我的数组中获取最后一项

转载 作者:行者123 更新时间:2023-11-30 09:12:34 25 4
gpt4 key购买 nike

我刚开始使用 reactJS 和一般编码。我现在无法让它工作:

我正在使用 .map() 循环遍历数据,我想提供一个类名,该类名随我从 API 获取的数据类型而变化。

这就是为什么我制作了一个“if-else”语句,该语句构成了类名必须是什么的数组

但是类名总是取最后一项

我的 if-else 语句

for (let i = 0; i < 10; i++) {
let Cstyle = []
if (this.state.results[i].group === 'one') {
Cstyle = 'one'
}
else if (this.state.results[i].group === 'two') {
Cstyle = 'two'
}
else if (this.state.results[i].group === 'three') {
Cstyle = 'three'
}
this.setState({style : Cstyle})}

我的映射

{this.state.results.map((res, index) => ( 
<div key={index} className={'activity' + ' ' + [this.state.style]}>
<p>res.test</p>
</div>
))}

当我从我的 API 获得“一”时,我希望列表中的某些项目具有 className=“一”,与“二”和“三”相同。

最佳答案

let Cstyle = []

Cstyle 以数组形式开始……

 Cstyle = 'one'

…但是在循环中你反复用一个字符串覆盖它。


如果您想向数组中添加一些内容,请使用其push() 方法。不要覆盖它。

Cstyle.push('one');

并在循环之前创建数组,而不是在循环内部。


旁白:惯用的 JavaScript 为构造函数/类保留以大写字母开头的变量名。不要对包含数组或字符串的变量使用该命名约定。

关于javascript - ClassName 只从我的数组中获取最后一项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57475063/

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