每个X项目都将广告放在平面列表中?

时间:2018-02-12 08:08:34

标签: reactjs react-native react-native-flatlist

我有一个包含许多项目的平面列表。是否可以将每个X项目分解为其中包含广告等其他组件?我在官方文档中找不到它。这是我的公寓清单:

<FlatList
        ListFooterComponent={this.renderFooter}   
        removeClippedSubviews={true}
        data={this.state._data}
        renderItem={({item}) => {
            return (
           <View>
             ...
          {item.something}
              ...
        </View>
         );
          }}
         keyExtractor={(item, index) => index}
        />     

1 个答案:

答案 0 :(得分:0)

据我所知,FlatList没有构建此类功能。

但是,执行此操作的一种方法是将广告添加到传递到data的{​​{1}}并修改FlatList功能以便也能够呈现它们。

E.g。以下代码段将采用一系列内容和一系列广告,并在每两个元素后添加一个添加:

renderItem

然后,如果项目为1,您可以修改const ads = [...]; // array of ads const content = [...]; // array of content const alternate = 2; const data = content.reduce((acc, curr, i) => { if ((i + 1) % alternate === 0) { const adIndex = Math.floor(i / alternate) % ads.length; return [...acc, curr, {...ads[adIndex], isAdd: true }]; } return [...acc, curr]; }, []); 函数以呈现添加,例如

renderItem