2017-08-31 136 views
0

我試圖在調用onViewableItemsChanged時,在renderItemFlatList中操作組件。react-native:Flatlist如何從onViewableItemsChanged傳遞給renderItem

我的代碼如下所示:

<FlatList 
    data={this.props.data.allPosts.nodes} 
    ListHeaderComponent={() => this.props.listHeader} 
    onViewableItemsChange={this.onViewableItemsChanged} 
    renderItem={({item}) => 
     <View style={{ marginBottom: 12 }}> 
      <Video lights={true} 
       ref={(ref) => this[`postRef_${item.key}`] = ref} 
      /> 
     </View> 
    }     
/> 


onViewableItemsChanged = ({viewableItems}) => { 
    viewableItems.forEach((item) => { 
     const { isViewable, key } = item; 

     if(isViewable) { 
      const ref = this[`swiperRef_${key}`]; 

      if(!ref) return console.log('Ref not found'); 
       console.log('ref', ref) 
       ref.paused = false 
     } 
    }); 
} 

我的問題是,參考保持返回undefined。任何方式呢?

+0

不知道這是不是格式不正確,但你在'onViewableItemsChanged'和'{this.onViewableItemsChanged}'之間缺少'='' – Osman

+0

是的,謝謝你這是不好的格式化 – bz123

回答

0

我不知道你所說的 「參考」 的意思,但如果你是通過

this.onViewableItemsChanged = this.onViewableItemsChanged.bind(this)

onViewableItemsChange={this.onViewableItemsChanged.bind(this}const ref = this[swiperRef_${key}];

已經綁定thisonViewableItemsChanged

相關問題