
Alejandro Mejia Escobar
PreguntaNo entiendo por qué, pero al darle like no está cambiando el boton y puedo seguir aumentando los likes eternamente. Mi código:
import React from 'react' import { ImgWrapper, Img, Article } from './styles' import { useNearScream } from '../../hooks/useNearScream' import { FavButton } from '../FavButton' import { ToggleLikeMutation } from '../../container/ToogleLikeMutation' import { Link } from '@reach/router' const DEFAULT_IMAGE = 'https://res.cloudinary.com/midudev/image/upload/w_300/q_80/v1560262103/dogs.png' export const PhotoCard = ({ id, liked, likes = 0, src = DEFAULT_IMAGE }) => { const [show, element] = useNearScream(); return ( <Article ref={element}> { show && <> <Link to={`/detail/${id}`}> <ImgWrapper> <Img src={src} /> </ImgWrapper> </Link> <ToggleLikeMutation > { (toggleLike) => { const handleFavClick = () => { toggleLike({ variables: { input: {id} }}) } return <FavButton liked={liked} likes={likes} onClick={handleFavClick} /> } } </ToggleLikeMutation> </> } </Article> ) }

Carlos Antonio Espin Constante
Hola, estoy realizando en estos momentos el curso y tenía el mismo problema. Se aumentaba los likes infinitamente y no se modificaba el icono.
Despues de analizar el código, lo que me funcionó y solucionó mi error fue que no le modifiqué la mutación de likePhoto.
Antes el código era así con likeAnonymousPhoto :
const likePhoto = gql` mutation likeAnonymousPhoto($input: LikePhoto!) { likeAnonymousPhoto(input: $input) { id liked likes } }
Tenemos que modificar a:
const likePhoto = gql` mutation likePhoto($input: LikePhoto!) { likePhoto(input: $input) { id liked likes } } `
El profesor también lo modifica. Pero no lo noté 😅
Espero le sirva a alguien que tenga el mismo problema.