本机反应-在FlatList中包含静态和动态元素

时间:2018-07-07 21:28:17

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

我正在尝试创建一个类似于Twitter的“发布推文”列表的FlatList,该列表显示设备图库中从“相机”到“照片”的选项。

enter image description here

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

我想到的第一个解决方案是创建一个数组,该数组的前2-3个元素为包含“ Camera”,“ Gallery”等的文本,然后将该数组与动态数组连接起来,并通过renderItem( )功能可为“静态元素”案例显示不同的视图。但我希望有一种更好的方法。请帮我解决这个问题。

1 个答案:

答案 0 :(得分:3)

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

示例

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}
      />
    );
  }
}