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

282
Views
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
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!