Reactjs 如何使此平面列表在react native中无限滚动 import React,{Component}来自'React'; 进口{ 样式表, 文本, 看法 形象,, 可触摸不透明度, 平面列表, 尺寸, 滚动视图, 警觉的 }从“反应本机”; 导出默认类用

Reactjs 如何使此平面列表在react native中无限滚动 import React,{Component}来自'React'; 进口{ 样式表, 文本, 看法 形象,, 可触摸不透明度, 平面列表, 尺寸, 滚动视图, 警觉的 }从“反应本机”; 导出默认类用,reactjs,react-native,Reactjs,React Native,如何使此平面列表在react native中无限滚动 import React,{Component}来自'React'; 进口{ 样式表, 文本, 看法 形象,, 可触摸不透明度, 平面列表, 尺寸, 滚动视图, 警觉的 }从“反应本机”; 导出默认类用户扩展组件{ 建造师(道具){ 超级(道具); 此.state={ 数据:[ {id:1,类型:“投资方”,名称:“Vishal Jain”,描述:“Lorem ipsum dolor sit amet,Concertetuer Adipisi

如何使此平面列表在react native中无限滚动
import React,{Component}来自'React';
进口{
样式表,
文本,
看法
形象,,
可触摸不透明度,
平面列表,
尺寸,
滚动视图,
警觉的
}从“反应本机”;
导出默认类用户扩展组件{
建造师(道具){
超级(道具);
此.state={
数据:[
{id:1,类型:“投资方”,名称:“Vishal Jain”,描述:“Lorem ipsum dolor sit amet,Concertetuer Adipising Elite”,日期:“2019-03-25 09:12:00”,颜色:“228B22”,完成时间:1},
{id:2,类型:“投资方”,名称:“Vishal Jain”,描述:“Aenean massa.Cum Sociais natoque penatibus et magnis.”,日期:“2019-03-25 10:23:00”,颜色:“FF00FF”,完成日期:0},
{id:3,类型:“投资方”,名称:“Vishal Jain”,描述:“nascetur ridiculus mus.Donec quam felis,ultricies dnec”,日期:“2019-03-25 11:45:00”,颜色:“4B0082”,完成日期:1},
{id:4,类型:“投资方”,名称:“Vishal Jain”,描述:“Donec pede justo,fringilla vel,aliquet nec,vulputdate.”,日期:“2019-03-25 09:27:00”,颜色:“20B2AA”,完成日期:0},
{id:5,类型:“投资方”,名称:“Vishal Jain”,描述:“Nullam dictum felis eu ped mollis pretium.Integer tirr.”,日期:“2019-03-25 08:13:00”,颜色:“000080”,完成日期:0},
{id:6,类型:“投资方”,名称:“Vishal Jain”,描述:“ultricies nisi.Nam eget dui.Etiam rhoncus.Maecenas st.”,日期:“2019-03-25 10:22:00”,颜色:“FF4500”,完成日期:1},
{id:7,类型:“投资方”,名称:“Vishal Jain”,描述:“Lorem ipsum Door sit amet,Concettetor Adipsing Elite.”,日期:“2019-03-25 13:33:00”,颜色:“#FF0000”,完成:0},
{id:8,类型:“投资方”,名称:“Vishal Jain”,描述:“Maecenas nec odio et ante tincidunt tempus.Donec vitae”,日期:“2019-03-25 11:56:00”,颜色:“EE82EE”,完成日期:0},
{id:9,类型:“投资方”,名称:“Vishal Jain”,描述:“Lorem ipsum dolor sit amet,Concertetuer Adipising Elite”,日期:“2019-03-25 15:00:00”,颜色:“6A5ACD”,完成日期:0},
{id:10,类型:“投资方”,名称:“Vishal Jain”,描述:“Aenean imperdiet.Etiam ultricies nisi vel augues aasde”,日期:“2019-03-25 12:27:00”,颜色:“DDA0DD”,完成日期:0},
]
};
}
单击事件侦听器=(项目)=>{
Alert.Alert(“所选项目:”+项目说明)
}
__getCompletedIcon=(项目)=>{
如果(item.completed==1){
返回“https://img.icons8.com/flat_round/64/000000/checkmark.png";
}否则{
返回“https://img.icons8.com/flat_round/64/000000/delete-sign.png";
}
}
__getDescriptionStyle=(项)=>{
如果(item.completed==1){
返回{textDecorationLine:“行通过”,fontStyle:“斜体”,颜色:“#808080”};
}
} 
render(){
返回(
{
返回item.id;
}}
renderItem={({item})=>{
返回(
{this.clickEventListener(项目)}>
{/*  */}
{item.name}({item.type})
{item.description}
{item.date}
)}}
/>
);
}
}
const styles=StyleSheet.create({
容器:{
弹性:1,
玛金托普:20,
背景色:“eeeeee”
},
任务:{
弹性:1,
},
卡片内容:{
marginLeft:20,
玛金托普:10,
},
图片:{
宽度:25,
身高:25,
},
卡片:{
阴影颜色:'#00000021',
阴影偏移:{
宽度:0,
身高:6,
},
阴影不透明度:0.37,
阴影半径:7.49,
标高:12,
玛吉:10,
marginHorizontal:20,
背景颜色:“白色”,
flexBasis:“46%”,
填充:10,
flexDirection:“行”,
flexWrap:“wrap”,
边线宽度:6,
},
说明:{
尺码:18,
弹性:1,
颜色:“008080”,
字体权重:'粗体',
},
日期:{
尺寸:14,
弹性:1,
颜色:#696969“,
玛金托普:5
},
});  

,在这篇漂亮的文章中搜索
无限滚动
。这能回答你的问题吗?
import React, { Component } from 'react';

import {
  StyleSheet,
  Text,
  View,
  Image,
  TouchableOpacity,
  FlatList,
  Dimensions,
  ScrollView,
  Alert
} from 'react-native';

export default class Users extends Component {

  constructor(props) {

    super(props);

    this.state = {

      data: [

        {id:1,  type:"Invester",name:"Vishal Jain", description:"Lorem ipsum dolor sit amet, consectetuer adipiscing elit.", date:"2019-03-25 09:12:00", color:"#228B22", completed:1},

        {id:2,  type:"Invester",name:"Vishal Jain", description:"Aenean massa. Cum sociis natoque penatibus et magnis.",     date:"2019-03-25 10:23:00", color:"#FF00FF", completed:0},

        {id:3,  type:"Invester",name:"Vishal Jain", description:"nascetur ridiculus mus. Donec quam felis, ultricies dnec.", date:"2019-03-25 11:45:00", color:"#4B0082", completed:1},

        {id:4,  type:"Invester",name:"Vishal Jain", description:"Donec pede justo, fringilla vel, aliquet nec, vulputdate.", date:"2019-03-25 09:27:00", color:"#20B2AA", completed:0},

        {id:5,  type:"Invester",name:"Vishal Jain", description:"Nullam dictum felis eu pede mollis pretium. Integer tirr.", date:"2019-03-25 08:13:00", color:"#000080", completed:0},

        {id:6,  type:"Invester",name:"Vishal Jain", description:"ultricies nisi. Nam eget dui. Etiam rhoncus. Maecenas st.", date:"2019-03-25 10:22:00", color:"#FF4500", completed:1},

        {id:7,  type:"Invester",name:"Vishal Jain", description:"Lorem ipsum dolor sit amet, consectetuer adipiscing elit.", date:"2019-03-25 13:33:00", color:"#FF0000", completed:0},

        {id:8,  type:"Invester",name:"Vishal Jain", description:"Maecenas nec odio et ante tincidunt tempus. Donec vitae .", date:"2019-03-25 11:56:00", color:"#EE82EE", completed:0},

        {id:9,  type:"Invester",name:"Vishal Jain", description:"Lorem ipsum dolor sit amet, consectetuer adipiscing elit.", date:"2019-03-25 15:00:00", color:"#6A5ACD", completed:0},

        {id:10, type:"Invester",name:"Vishal Jain", description:" Aenean imperdiet. Etiam ultricies nisi vel augues aasde.", date:"2019-03-25 12:27:00", color:"#DDA0DD", completed:0},

      ]

    };

  }


  clickEventListener = (item) => {

    Alert.alert("Item selected: "+item.description)

}

  __getCompletedIcon = (item) => {

 if(item.completed == 1) {

      return "https://img.icons8.com/flat_round/64/000000/checkmark.png";

    } else {

      return "https://img.icons8.com/flat_round/64/000000/delete-sign.png";

    }

  }

  __getDescriptionStyle = (item) => {

    if(item.completed == 1) {

      return {textDecorationLine:"line-through", fontStyle:'italic', color:"#808080"};

    }

  } 

  render() {

    return (

      <View style={styles.container}>

        <FlatList 

          style={styles.tasks}

          columnWrapperStyle={styles.listContainer}

          data={this.state.data}

          keyExtractor= {(item) => {

            return item.id;

          }}

          renderItem={({item}) => {

          return (

            <TouchableOpacity style={[styles.card, {borderColor:item.color}]} onPress={() =>{this.clickEventListener(item)}}>

              {/* <Image style={styles.image} source={{uri: this.__getCompletedIcon(item)}}/> */}

              <View style={styles.cardContent}>

                <Text style={{fontSize:18,flex:1,color:"#000",fontWeight:'bold',}} >{item.name} ({item.type})</Text>

                <Text style={[styles.description, this.__getDescriptionStyle(item)]}>{item.description}</Text>

                <Text style={styles.date}>{item.date}</Text>

              </View>

            </TouchableOpacity>
          )}}

          />

      </View>

    );

  }

}

const styles = StyleSheet.create({

  container:{

    flex:1,

    marginTop:20,

    backgroundColor:"#eeeeee"

  },

  tasks:{

    flex:1,

  },

  cardContent: {

    marginLeft:20,

    marginTop:10,

  },

  image:{

    width:25,

    height:25,

  },


  card:{

    shadowColor: '#00000021',

    shadowOffset: {

      width: 0,

      height: 6,

    },

    shadowOpacity: 0.37,

    shadowRadius: 7.49,

    elevation: 12,


    marginVertical: 10,

    marginHorizontal:20,

    backgroundColor:"white",

    flexBasis: '46%',

    padding: 10,

    flexDirection:'row',

    flexWrap: 'wrap',

    borderLeftWidth:6,

  },



  description:{

    fontSize:18,

    flex:1,

    color:"#008080",

    fontWeight:'bold',

  },

  date:{

    fontSize:14,

    flex:1,

    color:"#696969",

    marginTop:5

  },

});