No entiendo por qué, pero al darle like no está cambiando el boton y puedo seguir aumentando los likes eternamente. Mi código: <code>impo...

Alejandro Mejia Escobar

Alejandro Mejia Escobar

Pregunta
student
hace 4 años

No 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> ) }
1 respuestas
para escribir tu comentario
    Carlos Antonio Espin Constante

    Carlos Antonio Espin Constante

    student
    hace 3 años

    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.

Curso de React Avanzado

Curso de React Avanzado

Crea aplicaciones móviles en ReactJS. Genera consultas en GraphQL y gestiona usuarios. Implementa Testing básico con Cypress y convierte tus apps en PWA con herramientas como Hooks, React Apollo, Reach Router y JSON Web Tokens.

Curso de React Avanzado
Curso de React Avanzado

Curso de React Avanzado

Crea aplicaciones móviles en ReactJS. Genera consultas en GraphQL y gestiona usuarios. Implementa Testing básico con Cypress y convierte tus apps en PWA con herramientas como Hooks, React Apollo, Reach Router y JSON Web Tokens.