mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-25 23:36:01 +00:00
removed formik, used own FormProvider instead
This commit is contained in:
25
packages/web/src/utility/FormProvider.js
Normal file
25
packages/web/src/utility/FormProvider.js
Normal file
@@ -0,0 +1,25 @@
|
||||
import React from 'react';
|
||||
|
||||
const FormContext = React.createContext(null);
|
||||
|
||||
export function FormProvider({ children, initialValues }) {
|
||||
const [values, setValues] = React.useState(initialValues);
|
||||
const setFieldValue = React.useCallback(
|
||||
(field, value) =>
|
||||
setValues((v) => ({
|
||||
...v,
|
||||
[field]: value,
|
||||
})),
|
||||
[setValues]
|
||||
);
|
||||
const provider = {
|
||||
values,
|
||||
setValues,
|
||||
setFieldValue,
|
||||
};
|
||||
return <FormContext.Provider value={provider}>{children}</FormContext.Provider>;
|
||||
}
|
||||
|
||||
export function useForm() {
|
||||
return React.useContext(FormContext);
|
||||
}
|
||||
Reference in New Issue
Block a user