react-native:如何从onViewableItemsChanged传递到renderItem的Flatlist

时间:2017-08-31 15:09:59

标签: react-native

我正在尝试在renderItem调用FlatList时操纵onViewableItemsChanged下的组件。

我的代码如下所示:

<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。有什么方法吗?

1 个答案:

答案 0 :(得分:0)

我不确定你的意思&#34;参考&#34;但如果你指的是const ref = this[swiperRef_${key}];

您是否已通过

this绑定到onViewableItemsChanged

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

onViewableItemsChange={this.onViewableItemsChanged.bind(this}