Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

80
Visualizações
TypeError no capturado: el objeto no es iterable -> usando contexto con reductor

Estoy aprendiendo a usar useContext y useReducer juntos, pero recibo un error que no he logrado resolver:

TypeError no detectado: el objeto no es iterable (no se puede leer la propiedad Symbol(Symbol.iterator))

Ocurrió después de desestructurar el contexto dentro de MealItemForm.js. Intenté establecer el valor predeterminado en createContext, importar con y sin llaves, etc. Estoy tratando de enviar la función dentro del componente secundario. ¿Alguna idea?

MealItemForm.js

 import React,{useContext} from 'react'; import MeatContext from '../store/meat-context'; import Input from './Input'; import styles from "./MealItemForm.module.css" function MealItemForm(props) { const [meatState,dispatchMeatState]=useContext(MeatContext) const handleClick=(event)=>{ event.preventDefault(); } return ( <form className={styles.form}> <Input/> <button onClick={handleClick}>+ Add</button> </form> ); } export default MealItemForm;

contexto-carne.js

 import React,{useReducer,useState} from 'react'; const MeatContext = React.createContext({meatState:[]}); export function MeatContextProvider(props) { const meatReducer = (state, action) => { if (action.type === 'ADD_MEAT') { return [...meatState]; } return { }; }; const [meatState, dispatchMeatState] = useReducer(meatReducer, [ ] ); return ( <MeatContext.Provider value={{meatState:meatState,dispatchMeatState:dispatchMeatState}}> {props.children} </MeatContext.Provider> ); } export default MeatContext
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

El valor proporcionado a Context es un objeto.

 {meatState:meatState,dispatchMeatState:dispatchMeatState}

Pero está utilizando la desestructuración de matrices mientras obtiene los valores

 const [meatState, dispatchMeatState ] = useContext(MeatContext)

Usar la desestructuración de objetos debería resolverlo,

 const { meatState, dispatchMeatState } = useContext(MeatContext)
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda