getBreeds() { if (this.state.animal) { petfinder.breed .list({ animal: this.state.animal }) .then(data => { if ( data.petfinder && data.petfinder.breeds && Array.isArray(data.petfinder.breeds.breed) ) { this.setState({ breeds: data.petfinder.breeds.breed }); } else { this.setState({ breeds: [] }); } }) .catch(console.error); } else { this.setState({ breeds: [] }); } }
export default function getBreeds() { return function getBReedsThunk(dispatch, getState) { const { animal } = getState(); if (animal) { petfinder.breed .list({ animal }) .then(data => { if ( data.petfinder && data.petfinder.breeds && Array.isArray(data.petfinder.breeds.breed) ) { dispatch({ type: "SET_BREEDS", payload: data.petfinder.breeds.breed }); } else { dispatch({ type: "SET_BREADS", payload: [] }); } }) .catch(console.error); } else { dispatch({ type: "SET_BREADS", payload: [] }); } }; }
componentDidMount() { petfinder.pet .get({ output: "full", id: this.props.id }) .then(data => { let breed; if (Array.isArray(data.petfinder.pet.breeds.breed)) { breed = data.petfinder.pet.breeds.breed.join(", "); } else { breed = data.petfinder.pet.breeds.breed; } this.setState({ name: data.petfinder.pet.name, animal: data.petfinder.pet.animal, location: `${data.petfinder.pet.contact.city}, ${ data.petfinder.pet.contact.state }`, description: data.petfinder.pet.description, media: data.petfinder.pet.media, breed, loading: false }); }) .catch(() => { navigate("/"); }); }