ListaCursadas.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import _ from 'lodash';
  2. import React, { Component } from 'react';
  3. import { Text, ListView } from 'react-native';
  4. import { connect } from 'react-redux';
  5. import { cursadasFetch } from '../actions/';
  6. import ItemCursada from './ItemCursada';
  7. class ListaCursadas extends Component {
  8. componentWillMount() {
  9. this.props.cursadasFetch();
  10. this.createDataSource(this.props);
  11. }
  12. componentWillReceiveProps(nextProps) {
  13. this.createDataSource(nextProps);
  14. }
  15. createDataSource({cursadas,cursos}){
  16. //const {cursadas, cursos} = cursada;
  17. const ds = new ListView.DataSource({
  18. rowHasChanged: (r1,r2) => r1 !== r2
  19. });
  20. this.dataSource = ds.cloneWithRows(cursadas);
  21. }
  22. renderRow(data) {
  23. return <ItemCursada data={data}/>;
  24. }
  25. render() {
  26. return (
  27. <ListView
  28. enableEmptySections
  29. dataSource={this.dataSource}
  30. renderRow={this.renderRow} />
  31. );
  32. }
  33. };
  34. const mapStateToProps = state => {
  35. /*const cursadas = _.map(state.cursadas, (val, uid) => {
  36. return { ...val, uid };
  37. });*/
  38. return { cursadas: state.cursadasR.cursadas, cursos: state.cursadasR.cursos };
  39. };
  40. export default connect(mapStateToProps, { cursadasFetch })(ListaCursadas);