Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

272
Views
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
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!