我正在尝试创建一个类似于Twitter的“发布推文”列表的FlatList,该列表显示设备图库中从“相机”到“照片”的选项。
我不确定如何先将2-3个元素作为静态元素,然后通过CameraRoll或其他方式添加动态元素。
我想到的第一个解决方案是创建一个数组,该数组的前2-3个元素为包含“ Camera”,“ Gallery”等的文本,然后将该数组与动态数组连接起来,并通过renderItem( )功能可为“静态元素”案例显示不同的视图。但我希望有一种更好的方法。请帮我解决这个问题。
答案 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}
/>
);
}
}