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

267
Visualizações
Mostrando un error no detectado: las acciones deben ser objetos simples, al intentar enviar datos para almacenar en redux

Este es un error común que se muestra cuando estropeamos la acción. Pero en este caso, intento enviar una acción con datos en su parámetro . La acción está recibiendo los datos, pero el reductor no puede recuperarlos. Estoy usando el gancho useDispatch en este caso. ¿Hay alguna otra forma de enviar datos que no conozca, o debería usar la función connect() porque useDispatch tiene algunos errores? Estoy usando el nodo v16.15.1 y npm v8.12.2

He acortado el código para una mejor comprensión.

Componente

 const data = {...} dispatch(sendData(data)); // the dispatch function will call onClick of a button

Acción

 export const sendData(data) => { type:ADD_DATA, //ADD_DATA is a constant imported for using as type data }

reductor

 const dataReducer = (state = [], action) => { switch(action.type) { case ADD_DATA: return { ...state, action.data } default: return state; } }

combinado con la función combineReducers()
tienda creada usando configureStore()
la aplicación está empaquetada en <Provider store={store}></Provider>

Otro componente

 const data = useSelector(state=> state.dataReducer); console.log(data);

En console.log , el estado vacío se muestra cuando se procesa el componente. Pero no se actualiza onClick y da el error no detectado Las acciones deben ser objetos simples

Atrapado con el problema durante mucho tiempo y necesita ayuda
Gracias...

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Su creador de acciones sendData está equivocado:

 export const sendData(data) => { type:ADD_DATA, //ADD_DATA is a constant imported for using as type data }

Esto en realidad no está devolviendo nada. Debido a que tiene un => y un { , es un cuerpo de función, no un objeto. Entonces, esto es en realidad :

  • un cuerpo funcional
  • una etiqueta llamada type
  • y una referencia a data

en lugar de un objeto como {type, data}

Podría poner paréntesis alrededor de las llaves para convertirlo en un objeto devuelto implícitamente: => ({type, data}) .

Sin embargo, la mejor respuesta aquí es cambiar y usar nuestro paquete oficial Redux Toolkit para escribir su lógica Redux. Redux Toolkit es la forma correcta de usar Redux hoy , y la API createSlice de RTK generará automáticamente creadores de acciones para usted .

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