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

Commit 586ca20

Browse files
committed
support both syntax and without a breaking change
1 parent 96e54be commit 586ca20

File tree

1 file changed

+23
-25
lines changed

1 file changed

+23
-25
lines changed

src/index.tsx

Lines changed: 23 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,6 @@ const RHFInput = ({
8888
Object.defineProperty(
8989
{
9090
name,
91-
type,
9291
},
9392
'value',
9493
{
@@ -111,30 +110,29 @@ const RHFInput = ({
111110
};
112111
}, [register, unregister, name]); // eslint-disable-line react-hooks/exhaustive-deps
113112

114-
return (
115-
<InnerComponent
116-
{...{
117-
...innerProps,
118-
...(onChangeEvent
119-
? {
120-
[onChangeName || 'onChange']: eventWrapper(
121-
onChangeEvent,
122-
'onChange',
123-
),
124-
}
125-
: { onChange: handleChange }),
126-
...(isOnBlur
127-
? onBlurEvent
128-
? {
129-
[onBlurName || 'onBlur']: eventWrapper(onBlurEvent, 'onBlur'),
130-
}
131-
: { onBlur: handleBlur }
132-
: {}),
133-
value: value || inputValue,
134-
...(isCheckbox ? { checked: inputValue } : {}),
135-
...rest,
136-
}}
137-
/>
113+
const props = {
114+
...innerProps,
115+
...(onChangeEvent
116+
? {
117+
[onChangeName || 'onChange']: eventWrapper(onChangeEvent, 'onChange'),
118+
}
119+
: { onChange: handleChange }),
120+
...(isOnBlur
121+
? onBlurEvent
122+
? {
123+
[onBlurName || 'onBlur']: eventWrapper(onBlurEvent, 'onBlur'),
124+
}
125+
: { onBlur: handleBlur }
126+
: {}),
127+
value: value || inputValue,
128+
...(isCheckbox ? { checked: inputValue } : {}),
129+
...rest,
130+
};
131+
132+
return React.isValidElement(InnerComponent) ? (
133+
React.cloneElement(InnerComponent, props)
134+
) : (
135+
<InnerComponent {...props} />
138136
);
139137
};
140138

0 commit comments

Comments
 (0)