【问题标题】:Flatlist get value from itemFlatlist 从项目中获取价值
【发布时间】:2018-11-20 18:49:47
【问题描述】:

我想根据平面列表呈现的项目从状态中获取一个值,就像this.state.liked[item.apiName] 我不知道为什么它不起作用。 平面列表:

  <FlatList
    refreshing={this.props.loading}
    onRefresh={this.props.refresh}
    data={this.props.series}
    renderItem={({ item }) => (
      <Serie
        serie={item}
        onPress={this._onPressButton}
        handleLike={this._likeSerie}
        liked={this.state.liked[item.apiName]}
      />
    )}
    keyExtractor={item => item.id}
  />

【问题讨论】:

  • 尝试将 like 更改为 like={() => this.state.liked[item.apiName]}

标签: javascript react-native expo


【解决方案1】:

显然添加 extraData={this.state.liked} 属性解决了这个问题

【讨论】:

  • 这是因为data 用于初始数据,extraData 用于以后添加的任何内容。在FlatList 之前,您必须在componentWillReceiveProps 中手动管理所有这些
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-23
  • 1970-01-01
  • 2018-04-26
  • 2015-04-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多