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

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

Estoy tratando de implementar un carrito de compras en mi aplicación. Creé otro archivo que tiene las funciones que quiero que me llamen. Sigo recibiendo una llamada de gancho no válida.

 export function CartProvider(props) { const [items, setItems] = useState([]); function addItemToCart() { console.log("test") } return ( <CartContext.Provider value={{items, setItems, getItemsCount, addItemToCart, getTotalPrice}}> {props.children} </CartContext.Provider> ); }

Hay más código en el archivo, pero reduje el problema a esto, pero tan pronto como importo CartContext y lo convierto en constante, aparece el problema.

 import {CartContext} from '../CartContext' const {addItemToCart} = useContext(CartContext) export default class ProductCard extends Component { constructor(props) { super(props) this.state = { name: this.props.postname, price: this.props.postprice, image: this.props.postimage, description: this.props.postDescription, quantity: this.props.postquantity, } }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Puede usar ganchos solo dentro de los componentes de función. Por lo tanto, no puede usar useContext(CartContext) así fuera de cualquier componente de función.

Supongo que desea utilizar el contexto dentro de ProductCard . Entonces tienes que reescribirlo en un componente de función:

 function ProductCard (props){ const {addItemToCart} = useContext(CartContext) return ... }

o conecte su componente de clase al contexto.

Lea más sobre ambas formas aquí

about 4 years ago · Juan Pablo Isaza Denunciar
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