1.需求
从后台获取的数据列表,在Flatlist组件显示,本地根据名称对每一个Item进行模糊查询,数据查询打印出来的是对的,但是组件上显示错误,
2.原因
可能是由,Flatlist组件渲染机制导致,props在全等比较中没有变化,所以组件不会更新数据
3.解决
在组件属性中加上:extraData={this.state}

<FlatList
extraData={this.state}
data={deviceAreaList}
numColumns={2}
keyExtractor={(item, index) => `${item.areaId}`}
renderItem={({ item }) => this.renderCell(item)}
ListEmptyComponent={this.ListEmptyComponent(deviceNum, isSearchArea)}
refreshing={refreshing}
onEndReachedThreshold={0.1}
showsVerticalScrollIndicator={false}
refreshControl={
<RefreshControl
refreshing={refreshing}
colors={['#ff0000', '#00ff00', '#0000ff']}
progressBackgroundColor={"#ffffff"}
onRefresh={() => this.onRefreshAction()}
/>
}
/>