Skip to content

Commit 9fb04a8

Browse files
authored
fix #103 useFieldArray throw error (#104)
* fix #103 useFieldArray throw error * fix lint
1 parent 2365ecc commit 9fb04a8

File tree

2 files changed

+65
-64
lines changed

2 files changed

+65
-64
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@hookform/devtools",
3-
"version": "4.0.0",
3+
"version": "4.0.1-beta.0",
44
"description": "React Hook Form dev tool to help debugging forms",
55
"main": "dist/index.js",
66
"umd:main": "dist/index.umd.development.js",

src/panel.tsx

Lines changed: 64 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -32,71 +32,72 @@ function PanelChildren<T, K, L, M, G>({
3232
}) {
3333
return (
3434
<>
35-
{Object.entries(fields)
36-
.filter(
37-
([name]) =>
38-
((name &&
39-
name.toLowerCase &&
40-
name.toLowerCase().includes(searchTerm)) ||
41-
(!name && !searchTerm) ||
42-
searchTerm === '') &&
43-
name,
44-
)
45-
.map(([name, value], index) => {
46-
childIndex++;
35+
{fields &&
36+
Object.entries(fields)
37+
.filter(
38+
([name]) =>
39+
((name &&
40+
name.toLowerCase &&
41+
name.toLowerCase().includes(searchTerm)) ||
42+
(!name && !searchTerm) ||
43+
searchTerm === '') &&
44+
name,
45+
)
46+
.map(([name, value], index) => {
47+
childIndex++;
4748

48-
if (!value._f) {
49-
return (
50-
<PanelChildren
51-
key={name + childIndex}
52-
{...{
53-
fields: value,
54-
searchTerm,
55-
touchedFields,
56-
errors,
57-
dirtyFields,
58-
state,
59-
fieldsValues,
60-
}}
61-
/>
62-
);
63-
} else {
64-
const error = get(errors, value._f.name);
65-
const errorMessage = get(error, 'message', undefined);
66-
const errorType = get(error, 'type', undefined);
67-
const type = get(value, 'ref.type', undefined);
68-
const isTouched = !!get(touchedFields, value._f.name);
69-
const isNative = !!(value && value._f.ref.type);
70-
const isDirty = !!get(dirtyFields, value._f.name);
71-
const hasError = !!error;
72-
const ref = get(value, '_f.ref');
73-
74-
return (
75-
<section
76-
key={value?._f.name + childIndex}
77-
style={{
78-
borderBottom: `1px dashed ${colors.secondary}`,
79-
margin: 0,
80-
}}
81-
>
82-
<PanelTable
83-
refObject={ref}
84-
index={index}
85-
collapseAll={state.isCollapse}
86-
name={value?._f.name}
87-
isTouched={isTouched}
88-
type={type}
89-
hasError={hasError}
90-
isNative={isNative}
91-
errorMessage={errorMessage}
92-
errorType={errorType}
93-
isDirty={isDirty}
94-
fieldsValues={fieldsValues}
49+
if (!value?._f) {
50+
return (
51+
<PanelChildren
52+
key={name + childIndex}
53+
{...{
54+
fields: value,
55+
searchTerm,
56+
touchedFields,
57+
errors,
58+
dirtyFields,
59+
state,
60+
fieldsValues,
61+
}}
9562
/>
96-
</section>
97-
);
98-
}
99-
})}
63+
);
64+
} else {
65+
const error = get(errors, value._f.name);
66+
const errorMessage = get(error, 'message', undefined);
67+
const errorType = get(error, 'type', undefined);
68+
const type = get(value, 'ref.type', undefined);
69+
const isTouched = !!get(touchedFields, value._f.name);
70+
const isNative = !!(value && value._f.ref.type);
71+
const isDirty = !!get(dirtyFields, value._f.name);
72+
const hasError = !!error;
73+
const ref = get(value, '_f.ref');
74+
75+
return (
76+
<section
77+
key={value?._f.name + childIndex}
78+
style={{
79+
borderBottom: `1px dashed ${colors.secondary}`,
80+
margin: 0,
81+
}}
82+
>
83+
<PanelTable
84+
refObject={ref}
85+
index={index}
86+
collapseAll={state.isCollapse}
87+
name={value?._f.name}
88+
isTouched={isTouched}
89+
type={type}
90+
hasError={hasError}
91+
isNative={isNative}
92+
errorMessage={errorMessage}
93+
errorType={errorType}
94+
isDirty={isDirty}
95+
fieldsValues={fieldsValues}
96+
/>
97+
</section>
98+
);
99+
}
100+
})}
100101
</>
101102
);
102103
}

0 commit comments

Comments
 (0)