使用不同类型的组件来反应Native listview

时间:2017-08-22 04:12:34

标签: listview gridview react-native

我正在开发一个反应原生应用程序。在它的主页上我需要显示一些帖子,如视频,音频,图像,博客,文章等。我很困惑如何实现这一点。如何使用不同类型的组件,混合音频,视频,图像来制作列表或网格视图。从后端我们将添加一个图像或视频或音频或博客,并将在列表中创建一个新的帖子。同时我想将新帖子添加到开头而不是最后。任何帮助,将不胜感激。

1 个答案:

答案 0 :(得分:1)

您可以使用FlatList执行此操作。它非常易于使用且性能良好,React-Native推荐它(请查看this)。 这是一个使用FlatList的简单示例,您可以在单独的组件或函数中处理列表项,并将其传递到renderItem FlatList道具中。您可以在here中看到FlatList的完整文档:

  _keyExtractor = (item, index) => item.id;

  _renderItem = ({item}) => (
    if (item.type === 'video') {
      <MyVideo item={item}/>
    } else if (item.type === 'image') {
      <MyImage item={item}/>
    } else if ...
      ...
  );

  render() {
    return (
      <FlatList
        data={dataList}
        keyExtractor={this._keyExtractor}
        renderItem={this._renderItem}
      />
    );
  }