index.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import React from 'react';
  2. import { connect } from 'react-redux';
  3. import { bindActionCreators } from 'redux';
  4. import { getCards } from './../../../actions/cards'
  5. import CardPreview from './cardPreview';
  6. import Spinner from './../../common/spinner';
  7. class CardsPage extends React.Component {
  8. componentDidMount() {
  9. const { getCards } = this.props;
  10. getCards();
  11. }
  12. render() {
  13. const { cards: { isFetching, data, error }, getCards } = this.props;
  14. console.log('Pasha lox', isFetching, data, error);
  15. console.log('PROPS', this.props);
  16. return (
  17. isFetching
  18. ?
  19. <Spinner />
  20. : data
  21. ?
  22. <div className='page' >
  23. {data.map(card => (
  24. <CardPreview
  25. title={card.name}
  26. cover={card.image}
  27. action={null}
  28. />))}
  29. </div >
  30. : error
  31. ?
  32. <div className='page' >
  33. Error handler
  34. </div >
  35. :
  36. null
  37. )
  38. }
  39. }
  40. const mapStateToProps = state => ({
  41. cards: state.cards
  42. });
  43. const mapDispatchToProps = dispatch => bindActionCreators({ getCards }, dispatch);
  44. export default connect(mapStateToProps, mapDispatchToProps)(CardsPage);