Ищите способ избежать записи в моих Props
всех 25 ++ свойствах formik
при использовании connect()
.
Ошибка именно такая: Type '{ entry: Entry; }' is missing the following properties from type 'Props': values, errors, touched, isValidating, and 25 more.
Я хочу использовать либо целый formik
объект, либо values
из него, так что-то вроде этого:
const MyComponent = ({ entry, values }: Props) => { //...
или вот так:
const MyComponent = ({ entry, formik }: Props) => { //...
при его экспорте следующим образом: export default connect(MyComponent);
(еще не набрал, может тоже в этом помочь),
и я борюсь стипы:
import * as React from 'react';
import {
connect,
FormikProps,
...
} from 'formik';
...
interface Props extends Pick<FormikProps<any>, 'values'> {
entry: Entry;
values: Pick<FormikProps<any>, 'values'>;
// values: any; //tryouts
}
или даже
interface Props extends FormikProps<any> {
entry: Entry;
// formik?: FormikProps<any>;
}
Я не хочу делать опоры formik
опциональными (поэтому часть ?
).Но если я не использую ?
, я получаю ошибку Property 'values' (or formik) is missing in type '{ entry: Entry; }' but required in type 'Props'.
.Но я не понимаю, так как все эти реквизиты передаются через connect()
, а не из родительского компонента.
Я думал, что ключевое слово extends SomeProps
позволяет избежать полного ввода свойств из SomeProps
,И поэтому мне не нужно включать formik
или values
или какой-либо из этих реквизитов в мой Props
интерфейс.
Что я не так понял?Каким должно быть объявление типов в этом случае?