如何在FlatList extraData中传递多个对象或值

时间:2019-05-01 08:23:59

标签: react-native react-native-flatlist

我遇到一种情况,我需要在FlatList extraData中同时传递State和Props。

我尝试过类似的操作,但是没有起作用。

 <FlatList
      numColumns={1}
      data={this.props.artists}
      renderItem={this.renderArtistItem}
      initialNumToRender={15}
      keyExtractor={item => item.id}
      extraData={(this.state, this.props.league)}
    />

该怎么做?

4 个答案:

答案 0 :(得分:0)

尝试一下

<FlatList
  numColumns={1}
  data={this.props.artists}
  renderItem={this.renderArtistItem}
  initialNumToRender={15}
  keyExtractor={item => item.id}
  extraData={{state:this.state, props:this.props.league}}
/>

答案 1 :(得分:0)

尝试一下:

<FlatList
  numColumns={1}
  data={this.props.artists}
  renderItem={this.renderArtistItem}
  initialNumToRender={15}
  keyExtractor={item => item.id}
  extraData={[this.state, this.props.league]}
/>

因为它将作为额外数据中的数组工作。

答案 2 :(得分:0)

const extraData = {
      ...this.state,
      ...this.props
    };

<FlatList
 numColumns={1}
  data={this.props.artists}
  renderItem={this.renderArtistItem}
  initialNumToRender={15}
  keyExtractor={item => item.id}
  extraData={extraData}
/>

答案 3 :(得分:0)

您需要将状态设置为extraData属性。

    <FlatList
       numColumns={1}
       data={this.props.artists}
       renderItem={this.renderArtistItem}
       initialNumToRender={15}
       keyExtractor={item => item.id}
       extraData={this.state}
    />