Я хочу создать окончательную форму реагирования в среде реагирующего текста.
Я получаю сообщение об ошибке, что мне не хватает свойства " onSubmit " в типе {...}, необходимом для " FormProps ". Я проверил интерфейс, но не могу понять, почему я получаю эту ошибку, потому что у меня установлено и определено это свойство.
myfile.tsx
import * as React from 'react';
import { Form, Field } from 'react-final-form';
export default class MyComponent extends React.Component {
constructor(props: any) {
super(props);
this.onSubmitHandler = this.onSubmitHandler.bind(this);
this.validateHandler= this.validateHandler.bind(this);
}
onSubmitHandler(): void {
}
validateHandler(): void {
}
render(): React.ReactNode {
return (
<div>
<Form>
onSubmit={this.onSubmitHandler} // OK
validate={this.validateHandler}
render={ ( {handleSubmit, pristine, invalid} ) => (
<form onSubmit={handleSubmit}>
<button type="submit" disabled={pristine || invalid}>
Submit
</button>
</form>
)}
</Form>
</div>
);
}
}
index.d.ts (отреагировать на окончательную форму) - FormProps => Config => ... onSubmit
export const Form: React.ComponentType<FormProps>;
export interface FormProps extends Config, RenderableProps<FormRenderProps>{
subscription?: FormSubscription;
decorators?: Decorator[];
initialValuesEqual?: (a?: object, b?: object) => boolean;
}
export interface Config<FormData = object> {
debug?: DebugFunction
destroyOnUnregister?: boolean
initialValues?: object
keepDirtyOnReinitialize?: boolean
mutators?: { [key: string]: Mutator }
onSubmit: (
values: FormData,
form: FormApi,
callback?: (errors?: object) => void
) => object | Promise<object | undefined> | undefined | void
validate?: (values: object) => object | Promise<object>
validateOnBlur?: boolean
}
![enter image description here](https://i.stack.imgur.com/oiT6i.png)