jrocc
jrocc

Reputation: 1346

Flatlist not rerendering on state change

I have a FlatList and it is not rerendering when a state change happens. How do I get a FlatList to rerender?

 _renderItem = ({item}) => {
    if(item=='null'){
      return <Text>Item is null</Text>
    }else{
      return <Text>Item is not null</Text>
    }    
};

render(){
 return(
  <FlatList
   data={this.state.itemList}   
   renderItem={this._renderItem}      
  />

 )
}

Upvotes: 0

Views: 3071

Answers (1)

Joshua Obritsch
Joshua Obritsch

Reputation: 1293

Change your code to this:

render(){
  return(
    <FlatList
      data={this.state.itemList}   
      extraData={this.state}
      renderItem={this._renderItem}      
    />
  )
}

The FlatList component needs extraData to be set to this.state so that it will update when it changes.

See the documentation for more details: https://facebook.github.io/react-native/docs/flatlist.html

Upvotes: 2

Related Questions