Skip to content
This repository was archived by the owner on Jan 14, 2021. It is now read-only.

Commit f7e443e

Browse files
authored
Merge pull request #8 from GProst/fix_not_updating_fields
fix #7 don't unregister when props change
2 parents 0c93d40 + 6da6e0b commit f7e443e

File tree

2 files changed

+26
-1
lines changed

2 files changed

+26
-1
lines changed

src/index.test.tsx

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,31 @@ describe('React Hook Form Input', () => {
5656
expect(unregister).toBeCalledWith('test');
5757
});
5858

59+
it('shouldn\'t unregister even if props changed', () => {
60+
const unregister = jest.fn();
61+
const {rerender} = render(
62+
<RHFInput
63+
setValue={() => {}}
64+
register={jest.fn()}
65+
unregister={unregister}
66+
name="test"
67+
rules={{ required: true }}
68+
as={<input />}
69+
/>,
70+
);
71+
rerender(
72+
<RHFInput
73+
setValue={() => {}}
74+
register={jest.fn()}
75+
unregister={unregister}
76+
name="test 2"
77+
rules={{ required: false }}
78+
as={<input />}
79+
/>,
80+
);
81+
expect(unregister).not.toBeCalled();
82+
});
83+
5984
it('should update internal value when onChange fired', () => {
6085
const setValue = jest.fn();
6186
const register = () => () => {};

src/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ const RHFInput = React.memo(
122122
unregister(name as string);
123123
}
124124
};
125-
}, [register, unregister, name, rules]);
125+
}, []); // eslint-disable-line react-hooks/exhaustive-deps
126126

127127
return React.cloneElement(as, {
128128
...rest,

0 commit comments

Comments
 (0)