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

243
Views
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 answers
Answer question

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 Report
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!