繁体   English   中英

react native - 在 FlatList 中有静态和动态元素

[英]react native - Having static and dynamic elements in FlatList

我正在尝试创建一个类似于 Twitter 的 Post Tweet 列表的 FlatList,显示从相机到设备图库中的照片的选项。

在此处输入图片说明

我不确定如何将前 2-3 个元素作为静态元素,然后通过 CameraRoll 或其他方式添加动态元素。

我想到的第一个解决方案是将数组的前 2-3 个元素作为包含“相机”、“画廊”等的文本,然后将该数组与动态数组连接起来,并通过 renderItem() 函数处理所有内容以为“静态元素”案例显示不同的视图。 但我希望有更好的方法来做到这一点。 这个你能帮我吗。

我认为最好和最简单的选择是按照你概述的方式进行:将“静态”数组与“动态”数组连接,并分别处理静态数组。

class Options extends React.Component {
  renderItem({ item, index }) {
    if (index === 0) {
      return <Camera />;
    } else if (index === 1) {
      return <Live />;
    } else {
      return <GeneralItem {...item} />;
    }
  }

  render() {
    const statics = [{ text: 'Camera' }, { text: 'Live' }];

    return (
      <FlatList
        data={statics.concat(this.props.data)}
        renderItem={this.renderItem}
      />
    );
  }
}

可以在 FlatList 中使用ListHeaderComponent 属性来完成。 我们可以放置任何 JSX 并实现静态第一项。

   <FlatList
      data={data}
      renderItem={({item, index})=><Item musicItem={item} index={index} currentIndex={currlistIndex} db_index={item.id_db}/>}
      extraData={currlistIndex}
      ListHeaderComponent={<AddSongs/>}             
    /> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM