反应原生/更新数组的对象可以调用渲染吗?

时间:2018-08-15 11:41:37

标签: javascript react-native react-native-android

您好,我正在研究卡片视图,该卡片视图的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 })

代码错误?

2 个答案:

答案 0 :(得分:0)

您可以尝试:

this.setState({
    heartarr: [...[], ...temp]
})

答案 1 :(得分:0)

您可以尝试一下。

这里的关键是heartarr元素的索引。

umbracoRedirectUrl