איך לקבל את הגדרות הטיפוסים של כל קומפוננטת ריאקט ב TypeScript
פוסט זה כולל טיפ קצר בנושא פיתוח Front End. אם אתם רוצים ללמוד יותר לעומק על פיתוח Front End מהבסיס ועד הנושאים המתקדמים תשמחו לשמוע שבניתי קורס וידאו מקיף בנושא זה הכולל מעל 50 שיעורי וידאו והמון תרגול מעשי.
למידע נוסף והצטרפות לקורס בקרו בדף קורס Front End באתר.
בעבודה עם TypeScript כפי שקל להבין לפי שם השפה, אנחנו צריכים להגדיר טיפוס לכל משתנה. עם רוב המשתנים זה לא בעיה אבל מדי פעם אתם רוצים להגיד משהו פרוע כמו "אני מוכן לקבל כל מה ש input מוכן לקבל". לדוגמה בקומפוננטה הזו שמייצרת input יחד עם label:
function InputWithLabel(props: {...}) {
const { label } = props;
return (
<label>{label}</label>
<input type="text" {...props} />
);
}
ל TypeScript יש פיתרון נוח למצבים אלה שנקרא React.ComponentProps וזה נראה כך:
type InputProps = React.ComponentProps<'input'>
עכשיו אפשר לחזור לקומפוננטה שלנו ולכתוב:
function InputWithLabel(props: { label: string } & InputProps) {
const { label } = props;
return (
<>
<label>{label}</label>
<input type="text" {...props} />
</>
);
}