React Native 上手 - 6.ListView

React Native

上一篇:React Native 上手 - 5.ScrollView

列表视图 ListView

ListView 是一个特殊的 ScrollView,用来展示一个纵向排列结构相似的内容。

ListView 可以高效地处理大量数据,它不像 ScrollView 将所有包含其中的组件都渲染出来,它只会渲染当前会显示在屏幕上的内容。

ListView 组件创建时需要设置两个属性:

  • dataSource:列表视图显示内容的数据源。
  • renderRow:渲染每行内容的方法。

下面展示一个实例:

import React, { Component } from 'react';
import {
  AppRegistry,
  ListView,
  Text,
  View
} from 'react-native';

export default class HelloWorld extends Component {
  // Initialize the hardcoded data
  constructor(props) {
    super(props);
    const ds = new ListView.DataSource({rowHasChanged: (r1, r2) => r1 !== r2});
    this.state = {
      dataSource: ds.cloneWithRows([
        'John', 'Joel', 'James', 'Jimmy', 'Jackson', 'Jillian', 'Julie', 'Devin'
      ])
    };
  }
  render() {
    return (
      <View style={{flex: 1, paddingTop: 22}}>
        <ListView
          dataSource={this.state.dataSource}
          renderRow={(rowData) => <Text>{rowData}</Text>}
        />
      </View>
    );
  }
}

AppRegistry.registerComponent('HelloWorld', () => HelloWorld);

这个例子中,先创建一个 ListView.DataSource,在创建时,需要提供一个 rowHasChanged 函数,在当数据源中的数据发生变化时被触发。

根组件被创建时,我们往数据源中写入一些数据。在 renderRow 函数中,将每一行数据渲染成一个 Text 组件。

运行效果如下:

ListView

下一篇:React Native 上手 - 7.网络

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容