Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

273
Vistas
useState Error: Llamada de gancho no válida. Los ganchos solo se pueden llamar dentro del cuerpo de un componente de función

Estoy trabajando en una aplicación MERNG de pila completa de redes sociales con Apollo GraphQL y me encontré con una "Llamada de gancho no válida. Los ganchos solo se pueden llamar dentro del cuerpo de un componente de función". error.

Esta es la primera vez que trabajo con React y componentes de reacción y he estado revisando muchas publicaciones de StackOverflow y alguna documentación sobre las Reglas de ganchos y la descripción general de ganchos en el sitio web de documentación de React, pero todavía tengo algunos problemas para tratar de resolver el problema.

Aquí está mi código:

EliminarBotón.js

 import React, { useState } from 'react' import gql from 'graphql-tag' import { useMutation } from '@apollo/react-hooks' import { Button, Confirm, Icon } from 'semantic-ui-react' function DeleteButton({ postID }) { const [confirmOpen, setConfirmOpen] = useState(false) const [deletePost] = useMutation(DELETE_POST_MUTATION, { update() { setConfirmOpen(false) // TODO: Remove post from cache }, variables: { postID } }) return ( <> <Button as='div' color='red' floated='right' onClick={() => setConfirmOpen(true)} > <Icon name='trash' style={{ margin: 0 }}/> </Button> <Confirm open={confirmOpen} onCancel={() => setConfirmOpen(false)} onConfirm={deletePost} /> </> ) } const DELETE_POST_MUTATION = gql` mutation deletePost($postID: ID!) { deletePost(postID: $postID) } ` export default DeleteButton

En lo que estoy trabajando aquí es en la funcionalidad del cliente donde el usuario puede eliminar su publicación y se encuentra con una ventana de confirmación "setConfirmOpen (booleano)": "¿Está seguro? Sí No", cuando presiona el botón Eliminar para la publicación ( solo si el usuario realmente hizo esa publicación).

Miré https://reactjs.org/docs/hooks-overview.html#state-hook para ayudar a guiar mi interacción prevista con el botón Eliminar.

Lo reduje a onClick={() => setConfirmOpen(true)} causando mi error cuando hago clic en el botón Eliminar para eliminar la publicación de la base de datos usando una mutación de GraphQL y asumo que onCancel arrojará un error también.

Gracias por su tiempo y consideración.

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda