ListaCursadas.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import _ from 'lodash';
  2. import React, { Component } from 'react';
  3. import { View, Text, ListView } from 'react-native';
  4. import { connect } from 'react-redux';
  5. import { cursadasFetch } from '../actions/';
  6. import ItemCursada from './Cursada/ItemCursada';
  7. import MyActionButton from '../components/ActionButton';
  8. class ListaCursadas extends Component {
  9. componentWillMount() {
  10. this.props.cursadasFetch();
  11. this.createDataSource(this.props);
  12. }
  13. componentWillReceiveProps(nextProps) {
  14. this.createDataSource(nextProps);
  15. }
  16. createDataSource({cursadas,cursos}){
  17. //const {cursadas, cursos} = cursada;
  18. const ds = new ListView.DataSource({
  19. rowHasChanged: (r1,r2) => r1 !== r2
  20. });
  21. this.dataSource = ds.cloneWithRows(cursadas);
  22. }
  23. renderRow(data) {
  24. return <ItemCursada data={data}/>;
  25. }
  26. render() {
  27. if (this.props.error) {
  28. return (
  29. <View>
  30. <Text>Error obteniendo las cursadas</Text>
  31. </View>
  32. );
  33. }
  34. return (
  35. <View>
  36. <ListView
  37. enableEmptySections
  38. dataSource={this.dataSource}
  39. renderRow={this.renderRow} />
  40. <MyActionButton />
  41. </View>
  42. );
  43. }
  44. };
  45. const mapStateToProps = state => {
  46. const { cursadas, cursos, error } = state.cursadasR;
  47. //console.log(state.cursadasR);
  48. return { cursadas, cursos, error };
  49. };
  50. export default connect(mapStateToProps, { cursadasFetch })(ListaCursadas);