index.tsx 679 B

1234567891011121314151617181920212223242526272829303132
  1. import React from 'react';
  2. import {Link} from 'react-router-dom';
  3. import {Pokemon} from '../../../api';
  4. class PokemonIndex extends React.Component {
  5. state = {
  6. pokemon: [],
  7. };
  8. async componentDidMount() {
  9. try {
  10. const data = await Pokemon.index();
  11. this.setState({pokemon: data.data});
  12. } catch (err) {
  13. // eslint-disable-next-line no-console
  14. console.log(JSON.stringify(err, null, 2));
  15. }
  16. }
  17. render() {
  18. const pokemon = this.state.pokemon.map(pkmn => (
  19. <li key={pkmn.id}>
  20. <Link to={`/pokemon/${pkmn.id}`}>{pkmn.nickname}</Link>
  21. </li>
  22. ));
  23. return <ul>{pokemon}</ul>;
  24. }
  25. }
  26. export default PokemonIndex;