Skip to content

Commit edfb7fb

Browse files
committed
Add useFormContext hook
1 parent 40ce3c8 commit edfb7fb

File tree

3 files changed

+8
-3
lines changed

3 files changed

+8
-3
lines changed

src/components/form/FormContext.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
1-
import { createContext } from 'react';
1+
import { createContext, useContext } from 'react';
22

33
export interface IFormContext {
44
setError: (name: string, hasError: boolean) => void;
55
isForm: boolean;
66
}
77

8-
export default createContext<IFormContext>({
8+
const FormContext = createContext<IFormContext>({
99
setError: () => {},
1010
isForm: false,
1111
});
12+
13+
export const useFormContext = (): IFormContext => useContext<IFormContext>(FormContext);
14+
15+
export default FormContext;

src/components/form/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
import Form from './Form';
2+
export { useFormContext } from './FormContext';
23

34
export default Form;

src/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ export { default as ErrorMessage } from './components/error-message';
1212
export { default as ErrorSummary } from './components/error-summary';
1313
export { default as Fieldset } from './components/fieldset';
1414
export { default as Footer } from './components/footer';
15-
export { default as Form } from './components/form';
15+
export { default as Form, useFormContext } from './components/form';
1616
export { default as Header } from './components/header';
1717
export { default as Hero } from './components/hero';
1818
export { default as Hint } from './components/hint';

0 commit comments

Comments
 (0)