mirror of
https://github.com/muerwre/vault-frontend.git
synced 2025-04-25 04:46:40 +07:00
#34 made error handling and resetting
This commit is contained in:
parent
dad416e6e2
commit
29e5aef01b
6 changed files with 136 additions and 43 deletions
|
@ -10,12 +10,13 @@ import { selectUploads } from '~/redux/uploads/selectors';
|
|||
|
||||
export const useFileUploader = (
|
||||
subject: typeof UPLOAD_SUBJECTS[keyof typeof UPLOAD_SUBJECTS],
|
||||
target: typeof UPLOAD_TARGETS[keyof typeof UPLOAD_TARGETS]
|
||||
target: typeof UPLOAD_TARGETS[keyof typeof UPLOAD_TARGETS],
|
||||
initialFiles?: IFile[]
|
||||
) => {
|
||||
const dispatch = useDispatch();
|
||||
const { files: uploadedFiles, statuses } = useShallowSelect(selectUploads);
|
||||
|
||||
const [files, setFiles] = useState<IFile[]>([]);
|
||||
const [files, setFiles] = useState<IFile[]>(initialFiles || []);
|
||||
const [pendingIDs, setPendingIDs] = useState<string[]>([]);
|
||||
|
||||
const uploadFiles = useCallback(
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { IComment, INode } from '~/redux/types';
|
||||
import { useCallback, useRef } from 'react';
|
||||
import { useCallback, useEffect, useRef } from 'react';
|
||||
import { FormikHelpers, useFormik, useFormikContext } from 'formik';
|
||||
import { array, object, string } from 'yup';
|
||||
import { FileUploader } from '~/utils/hooks/fileUploader';
|
||||
|
@ -58,13 +58,22 @@ export const useCommentFormFormik = (
|
|||
if (stopEditing) stopEditing();
|
||||
}, [uploader, stopEditing]);
|
||||
|
||||
return useFormik({
|
||||
const formik = useFormik({
|
||||
initialValues,
|
||||
validationSchema,
|
||||
onSubmit,
|
||||
initialStatus: '',
|
||||
onReset,
|
||||
validateOnChange: true,
|
||||
});
|
||||
|
||||
useEffect(() => {
|
||||
if (formik.status) {
|
||||
formik.setStatus('');
|
||||
}
|
||||
}, [formik.values.text]);
|
||||
|
||||
return formik;
|
||||
};
|
||||
|
||||
export const useCommentFormContext = () => useFormikContext<IComment>();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue