title: React Native Flatlist don't rerender on PureComponent
body: <p>Below is my Flatlist code. It is working fine but it was a bit laggy. So i search a bit on internet and found out that changing Component to PureComponent boost the flatlist performance. So i changed that but after that my iconType dont works. It doesn't changes that checkbox when user touches the list item.  Is PureComponent don't rerender on touch?</p>
  
  <pre><code>&lt;FlatList
    style={{flex:1}}
    data={finalData}
    showsVerticalScrollIndicator={false}
    renderItem={({item})=&gt;{
      var iconType = (this.state.selectedItems.indexOf(item.name)&gt;-1?"ios-checkmark-circle":"ios-checkmark-circle-outline");
      return(
        &lt;TouchableOpacity
          onPress={
            ()=&gt;{
              var selectedItems = this.state.selectedItems;
              var selectedItemsData = this.state.selectedItemsData;
              if(selectedItems.indexOf(item.name)&gt;-1){
                const index = selectedItems.indexOf(item.name);
                selectedItems.splice(index, 1);
                selectedItemsData.splice(index,1);
              }else{
                selectedItems.push(item.name);
                selectedItemsData.push({name:item.name,id:item.id});
              }
  
              this.setState({selectedItems});
              this.setState({selectedItemsData});
            }}&gt;
          &lt;View style={{padding:20,flexDirection:'row',alignItems:'flex-start'}}&gt;
            &lt;Icon name={iconType} color="#45AA6F" size={25} /&gt;
            &lt;Text style={{marginLeft:10,paddingTop:4,color:'#9B9B9B',fontWeight:'500'}}&gt;{item.name}&lt;/Text&gt;
          &lt;/View&gt;
          &lt;Dash style={{height:1}} dashColor="#45AA6F"/&gt;
        &lt;/TouchableOpacity&gt;)}
    }
  /&gt;
  </code></pre>