如何使用setState将一个图像更改为另一图像

时间:2019-04-26 11:25:02

标签: javascript react-native

我在本机中有一个GridView组件。我有两个不同的图标来突出显示网格图像。

在此如何在打开时使用setState更改图标。

<GridView
        itemDimension={80}
        items={items}
        style={styles.gridView}
        renderItem={({ item }) => this.renderGrid(item)}
        /> 

1 个答案:

答案 0 :(得分:0)

您可以采用这种方法:

  1. 初始化一个状态(数组),您将在其中存储当前选定的图像

    例如

    this.state = {
      selectedImages: []
    }
    
  2. 每当有人单击图像时,您都必须将图像的ID(或某些唯一键)推入或弹出到selecetedImages状态。这可以在图像的onPress中完成。每当onPress运行时,首先检查数组是否包含当前图像的ID(或某些唯一键),然后拼接ID,否则将其推入selectedImages数组

  3. 要显示突出显示的图标,您可以执行类似的操作

    {selectedImages.includes(image.id) ? <HighlightIcon /> : null}
    

希望这对您有帮助