Skip to content

Commit e4e7326

Browse files
committed
fix: fix
1 parent 9e5ed94 commit e4e7326

File tree

5 files changed

+15
-10
lines changed

5 files changed

+15
-10
lines changed

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,8 @@
6060
"@types/jest": "^29.2.5",
6161
"@types/lodash": "^4.14.135",
6262
"@types/node": "^22.0.2",
63-
"@types/react": "^18.0.0",
64-
"@types/react-dom": "^18.0.0",
63+
"@types/react": "^19.0.6",
64+
"@types/react-dom": "^19.0.1",
6565
"@umijs/fabric": "^4.0.1",
6666
"dumi": "^2.0.0",
6767
"eslint": "^8.54.0",

src/Field.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -543,9 +543,10 @@ class Field extends React.Component<InternalFieldProps, FieldState> implements F
543543
}
544544

545545
// Filed element only
546-
const childList = toChildrenArray(children);
546+
const childList = toChildrenArray(children as any);
547+
547548
if (childList.length !== 1 || !React.isValidElement(childList[0])) {
548-
return { child: childList, isFunction: false };
549+
return { child: childList as React.ReactNode, isFunction: false };
549550
}
550551

551552
return { child: childList[0], isFunction: false };

src/Form.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ const Form: React.ForwardRefRenderFunction<FormRef, FormProps> = (
138138
useSubscribe(!childrenRenderProps);
139139

140140
// Listen if fields provided. We use ref to save prev data here to avoid additional render
141-
const prevFieldsRef = React.useRef<FieldData[] | undefined>();
141+
const prevFieldsRef = React.useRef<FieldData[] | undefined>(null);
142142
React.useEffect(() => {
143143
if (!isSimilar(prevFieldsRef.current || [], fields || [])) {
144144
formInstance.setFields(fields || []);

src/useForm.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1027,7 +1027,7 @@ export class FormStore {
10271027
}
10281028

10291029
function useForm<Values = any>(form?: FormInstance<Values>): [FormInstance<Values>] {
1030-
const formRef = React.useRef<FormInstance>();
1030+
const formRef = React.useRef<FormInstance>(null);
10311031
const [, forceUpdate] = React.useState({});
10321032

10331033
if (!formRef.current) {

tests/useWatch.test.tsx

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -288,9 +288,13 @@ describe('useWatch', () => {
288288
const more = Form.useWatch(['age', 'name', 'gender'], form);
289289
const demo = Form.useWatch<string>(['demo']);
290290

291-
const values2 = Form.useWatch(values => ({ newName: values.name, newAge: values.age }), form);
292-
const values3 = Form.useWatch<FieldType, { newName?: string }>(values => ({
293-
newName: values.name,
291+
const values2 = Form.useWatch(
292+
_values => ({ newName: _values.name, newAge: _values.age }),
293+
form,
294+
);
295+
296+
const values3 = Form.useWatch<FieldType, { newName?: string }>(_values => ({
297+
newName: _values.name,
294298
}));
295299

296300
return (
@@ -393,7 +397,7 @@ describe('useWatch', () => {
393397
it('first undefined', () => {
394398
const errorSpy = jest.spyOn(console, 'error').mockImplementation(() => {});
395399
const Demo: React.FC = () => {
396-
const formRef = useRef<FormInstance>();
400+
const formRef = useRef<FormInstance>(null);
397401
const name = Form.useWatch('name', formRef.current);
398402
const [, setUpdate] = useState({});
399403
return (

0 commit comments

Comments
 (0)