Skip to content

Commit 75eac7a

Browse files
authored
feat(useFormContext): migrate V6 to V7: register & formState errors
Added useFormContext variant to the codemod
2 parents b47852c + d4d6726 commit 75eac7a

30 files changed

+647
-187
lines changed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import { useFormContext } from 'react-hook-form';
2+
3+
const Form = () => {
4+
const { formState: {
5+
errors,
6+
} } = useFormContext();
7+
8+
return (
9+
<form>
10+
<span>{errors.username.message}</span>
11+
</form>
12+
);
13+
};
14+
15+
export default Form;
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import { useFormContext } from 'react-hook-form';
2+
3+
const Form = () => {
4+
const { formState: {
5+
errors,
6+
} } = useFormContext();
7+
8+
return (
9+
<form>
10+
<span>{errors.username.message}</span>
11+
</form>
12+
);
13+
};
14+
15+
export default Form;
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import { useFormContext } from 'react-hook-form';
2+
3+
const Form = () => {
4+
const { errors } = useFormContext();
5+
6+
return (
7+
<form>
8+
<span>{errors.username.message}</span>
9+
</form>
10+
);
11+
};
12+
13+
export default Form;
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import { useFormContext } from 'react-hook-form';
2+
3+
const Form = () => {
4+
const { formState: {
5+
errors,
6+
} } = useFormContext();
7+
8+
return (
9+
<form>
10+
<span>{errors.username.message}</span>
11+
</form>
12+
);
13+
};
14+
15+
export default Form;
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import { useFormContext } from 'react-hook-form';
2+
3+
const Form = () => {
4+
const { errors: customErrors } = useFormContext();
5+
6+
return (
7+
<form>
8+
<span>{customErrors.username.message}</span>
9+
</form>
10+
);
11+
};
12+
13+
export default Form;
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import { useFormContext } from 'react-hook-form';
2+
3+
const Form = () => {
4+
const { formState: {
5+
errors: customErrors,
6+
} } = useFormContext();
7+
8+
return (
9+
<form>
10+
<span>{customErrors.username.message}</span>
11+
</form>
12+
);
13+
};
14+
15+
export default Form;
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import { useFormContext } from 'react-hook-form';
2+
3+
const Form = () => {
4+
const { errors, formState: { isDirty } } = useFormContext();
5+
6+
return (
7+
<form>
8+
<span>{errors.username.message}</span>
9+
</form>
10+
);
11+
};
12+
13+
export default Form;
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import { useFormContext } from 'react-hook-form';
2+
3+
const Form = () => {
4+
const {
5+
formState: {
6+
isDirty,
7+
errors,
8+
},
9+
} = useFormContext();
10+
11+
return (
12+
<form>
13+
<span>{errors.username.message}</span>
14+
</form>
15+
);
16+
};
17+
18+
export default Form;
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import { useFormContext } from 'react-hook-form';
2+
3+
const Form = () => {
4+
const { errors, formState } = useFormContext();
5+
6+
const diry = formState.isDirty;
7+
8+
return (
9+
<form>
10+
<span>{errors.username.message}</span>
11+
</form>
12+
);
13+
};
14+
15+
export default Form;
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import { useFormContext } from 'react-hook-form';
2+
3+
const Form = () => {
4+
const {
5+
formState,
6+
} = useFormContext();
7+
8+
const {
9+
errors,
10+
} = formState;
11+
12+
const diry = formState.isDirty;
13+
14+
return (
15+
<form>
16+
<span>{errors.username.message}</span>
17+
</form>
18+
);
19+
};
20+
21+
export default Form;
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import { useFormContext } from 'react-hook-form';
2+
3+
const Form = () => {
4+
const { errors: customErrors, formState } = useFormContext();
5+
6+
const diry = formState.isDirty;
7+
8+
return (
9+
<form>
10+
<span>{errors.username.message}</span>
11+
</form>
12+
);
13+
};
14+
15+
export default Form;
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import { useFormContext } from 'react-hook-form';
2+
3+
const Form = () => {
4+
const {
5+
formState,
6+
} = useFormContext();
7+
8+
const {
9+
errors: customErrors,
10+
} = formState;
11+
12+
const diry = formState.isDirty;
13+
14+
return (
15+
<form>
16+
<span>{errors.username.message}</span>
17+
</form>
18+
);
19+
};
20+
21+
export default Form;
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import { useFormContext } from 'react-hook-form';
2+
3+
const Form = () => {
4+
const { register } = useFormContext();
5+
6+
return (
7+
<form>
8+
<input {...register('example', { required: true })} />
9+
<input {...register('example-2')} />
10+
<input {...register('example-3')} />
11+
<input ref="useless-ref" name="example" />
12+
</form>
13+
);
14+
};
15+
16+
export default Form;
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import { useFormContext } from 'react-hook-form';
2+
3+
const Form = () => {
4+
const { register } = useFormContext();
5+
6+
return (
7+
<form>
8+
<input {...register('example', { required: true })} />
9+
<input {...register('example-2')} />
10+
<input {...register('example-3')} />
11+
<input ref="useless-ref" name="example" />
12+
</form>
13+
);
14+
};
15+
16+
export default Form;
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import { useFormContext as useRenamedForm } from 'react-hook-form';
2+
3+
const Form = () => {
4+
const { register: customRegister } = useRenamedForm();
5+
6+
return (
7+
<form>
8+
<input ref={customRegister} name="example" />
9+
</form>
10+
);
11+
};
12+
13+
export default Form;
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import { useFormContext as useRenamedForm } from 'react-hook-form';
2+
3+
const Form = () => {
4+
const { register: customRegister } = useRenamedForm();
5+
6+
return (
7+
<form>
8+
<input {...customRegister('example')} />
9+
</form>
10+
);
11+
};
12+
13+
export default Form;
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import { useFormContext } from 'react-hook-form';
2+
3+
const Form = () => {
4+
const { register, handleSubmit } = useFormContext();
5+
6+
return (
7+
<form onSubmit={handleSubmit}>
8+
<InputContainer label="Email">
9+
<Input
10+
name="email"
11+
ref={register}
12+
autoComplete="username"
13+
/>
14+
</InputContainer>
15+
<InputContainer label="Password *">
16+
<Input
17+
name="password"
18+
ref={register({
19+
required: true,
20+
validate: (value) => !!value
21+
})}
22+
type="password"
23+
/>
24+
</InputContainer>
25+
</form>
26+
);
27+
};
28+
29+
export default Form;
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import { useFormContext } from 'react-hook-form';
2+
3+
const Form = () => {
4+
const { register, handleSubmit } = useFormContext();
5+
6+
return (
7+
<form onSubmit={handleSubmit}>
8+
<InputContainer label="Email">
9+
<Input {...register('email')} autoComplete="username" />
10+
</InputContainer>
11+
<InputContainer label="Password *">
12+
<Input
13+
{...register('password', {
14+
required: true,
15+
validate: (value) => !!value
16+
})}
17+
type="password" />
18+
</InputContainer>
19+
</form>
20+
);
21+
};
22+
23+
export default Form;
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import { useFormContext } from 'react-hook-form';
2+
3+
function Input() {
4+
return <input />;
5+
}
6+
7+
const Form = () => {
8+
const { register } = useFormContext();
9+
10+
useEffect(() => {
11+
register('example');
12+
}, [register]);
13+
14+
return (
15+
<form>
16+
<input ref={register({ required: true })} name="example" />
17+
<input ref={register()} name="example-2" />
18+
<input ref={register} name="example-3" />
19+
<Input ref={register} name="example-4" />
20+
<input ref="useless-ref" name="example" />
21+
</form>
22+
);
23+
};
24+
25+
export default Form;
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import { useFormContext } from 'react-hook-form';
2+
3+
function Input() {
4+
return <input />;
5+
}
6+
7+
const Form = () => {
8+
const { register } = useFormContext();
9+
10+
useEffect(() => {
11+
register('example');
12+
}, [register]);
13+
14+
return (
15+
<form>
16+
<input {...register('example', { required: true })} />
17+
<input {...register('example-2')} />
18+
<input {...register('example-3')} />
19+
<Input {...register('example-4')} />
20+
<input ref="useless-ref" name="example" />
21+
</form>
22+
);
23+
};
24+
25+
export default Form;
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import { useFormContext } from 'react-hook-form';
2+
3+
const Form = () => {
4+
const { register } = useFormContext();
5+
6+
return (
7+
<form>
8+
<input ref={register({ required: true })} name="example" />
9+
<input ref={register()} name="example-2" />
10+
<input ref={register} name="example-3" />
11+
<input ref="useless-ref" name="example" />
12+
</form>
13+
);
14+
};
15+
16+
export default Form;
17+
18+
export const Form2 = () => {
19+
const { register } = useFormContext();
20+
21+
return (
22+
<form>
23+
<input ref={register({ required: true })} name="example" />
24+
<input ref={register()} name="example-2" />
25+
<input ref={register} name="example-3" />
26+
<input ref="useless-ref" name="example" />
27+
</form>
28+
);
29+
};

0 commit comments

Comments
 (0)