reactjs - Vilken typ är useFormik i formik-formulär?


Jag skapade ett React Formik-formulär som består av flera komponenter. Jag behöver skicka ner useFormik-objektet till formulärets komponenter. Vad är rätt typ för Formik?

Föräldraform

 const formik = useFormik({ ...

Barnkomponent

interface IAddressBoxProps {
  skip: () => void
  formik: any
}

const AddressBox: React.FC<IAddressBoxProps> = (props: IAddressBoxProps) => {
  const { skip, formik } = props
 ...

Svar #1

När du är osäker på en typ kan du använda typeof formik för att få typen för den variabeln.

Kroksignaturen är

useFormik<Values>(config: FormikConfig<Values>): FormikProps<Values>

Så returtypen är FormikProps med en generisk typ som beror på värdena i ditt formulär.

import {useFormik, FormikProps} from "formik";

interface MyValues {
    id: number;
}
export const MyComponent = () => {
    const formik: FormikProps<MyValues> = useFormik<MyValues>({});
}

Hook-dokument

Typescript-lekplats

Svar #2

Detta kan vara gammalt men ditt gränssnitt kan vara så här

interface IAddressBoxProps {
  skip: () => void
  formik: FormikProps<InitialValuesInterface>
}

Relaterade artiklar