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

292
Vistas
ReactJS: How to save dropzone files in the context?

I've tried to save files captured by dropzone in the local state provider but when I try to get file values it is displayed as undefined type.

FileContext.js:

import { useState, useCallback } from 'react';
import constate from 'constate';

function useLocalReducer({ initialValues = {} } = {}) {
  const [localState, setLocalState] = useState(initialValues);

  const localDispatch = useCallback((newValues) => {
    setLocalState((prevState) => {
      return {
        ...prevState,
        ...newValues
      };
    });
  }, []);

  return { localState, localDispatch };
}

const [LocalFilesStateProvider, useLocalFilesState, useLocalFilesDispatch] = constate(
  useLocalReducer,
  (value) => value.localState,
  (value) => value.localDispatch
);

export { LocalFilesStateProvider, useLocalFilesState, useLocalFilesDispatch };

My Component.js return:

<LocalFilesStateProvider>
      <FormProvider {...methods}>
        ...
        {openAttachFilesModal && (
          <AttachFilesModal
            open={openAttachFilesModal}
            onClose={() => setOpenAttachFilesModal(false)}
          />
        )}
      </FormProvider>
    </LocalFilesStateProvider>

My AttachFilesModal.js has saved files this way:

const localDispatch = useLocalFilesDispatch();

const attachFiles = useCallback(() => {
    localDispatch({
      files: file.approved // file is dropzone files
    });
  }, [file, localDispatch]);

And my Component.js has used files this way:

const { files } = useLocalFilesState();
console.log(files); // undefined
about 4 years ago · Juan Pablo Isaza
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