React Native - FlatList 中有静态和动态元素

Ket*_*tra 4 javascript reactjs react-native react-native-flatlist

我正在尝试创建一个有点像 Twitter 的帖子推文列表的 FlatList,显示设备图库中从相机到照片的选项。

在此输入图像描述

我不知道如何将前 2-3 个元素作为静态元素,然后通过 CameraRoll 或其他东西添加动态元素。

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

Tho*_*lle 5

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

例子

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}
      />
    );
  }
}
Run Code Online (Sandbox Code Playgroud)