美文网首页《IOS开发笔记》
React Native FlatList的使用

React Native FlatList的使用

作者: 董董董董董董董董董大笨蛋 | 来源:发表于2017-05-24 09:24 被阅读1270次

    FlatList的使用

    • 高性能的简单列表组件,支持下面这些常用的功能:
    • 完全跨平台。
    • 支持水平布局模式。
    • 行组件显示或隐藏时可配置回调事件。
    • 支持单独的头部组件。
    • 支持单独的尾部组件。
    • 支持自定义行间分隔线。
    • 支持下拉刷新。
    • 支持上拉加载。
    • 支持跳转到指定行(ScrollToIndex)。

    如果需要分组/类/区(section),请使用<SectionList>

    建议以后尽量少使用ListView,毕竟性能不如FlatList

    使用方便简单,如下:

    import React, { Component } from 'react'
    import {
        View,
        Image,
        Dimensions,
        ScrollView,
        Text,
        StyleSheet,
        TouchableOpacity,
        Button,
        FlatList,
        ActivityIndicator,
        RefreshControl,
    }from 'react-native'
    
    var flatListData = [{
            key: 'a',
            text: '444'
        },{
            key: 'b',
            text: '333'
        },{
            key: 'c',
            text: '2222'
        },{
            key: 'd',
            text: '111'
        }];
    
    class DetailePageextends Component {
        
         constructor(props) {
            super(props);
            
            this.state = {
                
            };
        }
         
        render() {
            const { params } = this.props.navigation.state;
            return (
    
                <View style={styles.container}>
        
                    <FlatList
                        style={styles.flatListStyle}
                        data={flatListData}
                        ListHeaderComponent={this.ListHeaderComponent.bind(this)}
                        renderItem={this.renderItem.bind(this)}
                        keyExtractor={this._keyExtractor}
                        refreshControl={
                            <RefreshControl
                                refreshing={false}
                            />
                        }
                    />      
                </View>
            
            )
        }
    
    
      //此函数用于为给定的item生成一个不重复的key
        _keyExtractor = (item, index) => item.key;
    
        componentDidMount() {
    
        }
    
        //列表的头部
        ListHeaderComponent() {
            return (
                <DetailsHeadItem titleName='学习' unitName='111'/> 
            )
        }
    
        //列表的每一行
        renderItem({item,index}) {
            return (
                <TouchableOpacity key={index} activeOpacity={1} onPress={this.clickItem.bind(this,item,index)}>
                    <DetaileRowItem  /> 
                </TouchableOpacity>
            )
        }
        //绘制列表的分割线
        renderItemSeparator(){
            
        }
    
        //点击列表点击每一行
        clickItem(item,index) {
            alert(index)
        }
    
    }
    
    export default DetailePage
    
    

    相关文章

      网友评论

      本文标题:React Native FlatList的使用

      本文链接:https://www.haomeiwen.com/subject/xlunxxtx.html