您好,我正在研究卡片视图,该卡片视图的UI与FaceBook相似。
我存储了一个数组,该数组在“状态”下具有有关心脏颜色的信息。
ex)
this.state = {
heartarr : ["black","black","black" ...., "pink"...]
}
然后用for循环创建Cardview。
这是Cardview(心脏图标)的一部分。
<Icon
color={this.state.heartarr[i]}
size={30}
name="heart">
</Icon>
在这种情况下,如果我使用setState更改“ this.state.heartarr”中的组件,则cardView永远不会显示颜色更改。
我可以像这样更改heartArr
var temp = this.state.heartarr;
if (this.state.heartarr[key] === "black") {
temp[key] = "#e50914";
}
else {
temp[key] = "black";
}
this.setState({ heartarr: temp })
代码错误?
答案 0 :(得分:0)
您可以尝试:
this.setState({
heartarr: [...[], ...temp]
})
答案 1 :(得分:0)
您可以尝试一下。
这里的关键是heartarr元素的索引。
umbracoRedirectUrl