Как передать несколько объектов или значений в FlatList extraData - PullRequest
1 голос
/ 01 мая 2019

У меня есть ситуация, когда мне нужно передать как State, так и Props в дополнительные данные FlatList.

Я пробовал что-то подобное, но не работал.

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

Как это сделать?

Ответы [ 4 ]

1 голос
/ 03 мая 2019

попробуйте это:

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

Как это будет работать как массив в дополнительных данных.

0 голосов
/ 24 июня 2019

Вам нужно установить состояние для extraData prop.

    <FlatList
       numColumns={1}
       data={this.props.artists}
       renderItem={this.renderArtistItem}
       initialNumToRender={15}
       keyExtractor={item => item.id}
       extraData={this.state}
    />
0 голосов
/ 09 мая 2019
const extraData = {
      ...this.state,
      ...this.props
    };

<FlatList
 numColumns={1}
  data={this.props.artists}
  renderItem={this.renderArtistItem}
  initialNumToRender={15}
  keyExtractor={item => item.id}
  extraData={extraData}
/>
0 голосов
/ 01 мая 2019

попробуйте,

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