javascript - Flatlist 不会在状态更改时重新渲染

标签 javascript reactjs react-native react-native-flatlist

我有一个 FlatList,当状态发生变化时它不会重新渲染。如何让 FlatList 重新渲染?

 _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}      
  />

 )
}

最佳答案

将代码更改为:

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

FlatList 组件需要将 extraData 设置为 this.state,以便在更改时更新。

有关更多详细信息,请参阅文档: https://facebook.github.io/react-native/docs/flatlist.html

关于javascript - Flatlist 不会在状态更改时重新渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55329061/

相关文章:

javascript - 简单的节点与 polymer 的结合

javascript - sap.m.面板: make entire header clickable

reactjs - 关于乐观更新 : when do we need it? 的后续问题

javascript - 在函数内部调用函数,只有在函数结束后,其余的代码才会发生

javascript - Sails Js 填充不检索所有属性

javascript - 一个接一个地动画div高度onload javascript

datepicker - 没有初始值的react-datepicker

javascript - 使用扩展运算符更新非常深的对象

react-native - 如何更改 TextInput 中的边框颜色

react-native - 将 slider 设置到初始位置 - React native