ريأكت ج إس - تمرير خواص مخصصة إلى مكون حقل مخصص باستخدام فورميك


مساء الخير جميعاً، لدي مشكلة صغيرة مع حقول Formik المخصصة..

أنا أستخدم Field مخصص خاص بي مثل:

<Field name="pdfFile" component={FileUpload} />

تبدو خصائص رفع الملفات كما يلي:

interface FileUploadProps {
    field: FieldInputProps<any>; //These props should probably be derived from Formik
    form: FormikProps<any>;
    width: string;
    height: string;
}

تم تمرير الحقل والنموذج بشكل صحيح إلى المكون، لكن كيف يمكنني تمرير العرض والارتفاع إلى المكون؟ جربت ذلك، لكن بدون نجاح.

<Field 
    name="pdfFile" 
    component={(props: any) => (
        <FileUpload
            field={props.field}
            form={props.form}
            width={pdfWidth}
            height={pdfHeight}
        />
    )} 
/>  

لسوء الحظ، لا تذكر واجهة برمجة تطبيقات Formik كيفية حل هذه المشكلة. هل واجه أحدكم مشاكل مشابهة ويعرف كيفية حلها؟

شكراً جزيلاً على مساعدتك!

الإجابة رقم 1

إذا مررت بخاصية إلى Field لا تُستخدم في Field، فسيتم تمريرها إلى المكون في الخاصية component.

لذلك يمكنك فعلها هكذا

<Field 
    name="pdfFile" 
    width={pdfWidth}
    height={pdfHeight}
    component={FileUpload} 
/> 

واحصل على القيمة في خصائص المكون

const FileUpload = (props) => {
    // props.width
    // props.height
    return ( /* ... */ )
}