إن وجود واجهة Props قياسية محددة على أنها عامة يجعل من الممكن إعادة استخدام تعريف Props عند إنشاء الإصدار المخصص الخاص بي من المكون.
على سبيل المثال ، عند إنشاء مكون تسجيل الدخول الخاص بي ، يجب أن:
import { FormComponentProps } from 'antd/lib/form/Form'
class Login extends React.Component<{} & FormComponentProps, {}> {
render() {
// some render code
}
}
ولكن ربما يكون اتباع هذا أفضل:
import { FormComponentProps } from 'antd'
class Login extends React.Component<{} & FormComponentProps, {}> {
render() {
// some render code
}
}
على الأقل:
import { FormComponentProps } from 'antd/lib/form'
class Login extends React.Component<{} & FormComponentProps, {}> {
render() {
// some render code
}
}
تمامًا مثل حزمة واجهة المستخدم المستندة إلى TS: مخطط
أعتقد أن ما يلي جيد بما يكفي:
import { FormComponentProps } from 'antd/lib/form'
class Login extends React.Component<{} & FormComponentProps, {}> {
render() {
// some render code
}
}
أعتقد أن أول واحد أفضل.
قد يكون اختيار الطريقة الثانية لأن أول واجهة مكشوفة قد تكون واجهات أيضًا ، ولكن هذه الواجهات مفيدة جدًا عند استخدام TypeScript ، أولئك الذين لا يستخدمون TS ببساطة لا يروها.
ستعرض العديد من الأطر المكتوبة بلغة TS الواجهة إلى أقصى الحدود ، ولن تجد أي مشاكل.
بالطبع ، الطريقة الثانية يمكن أن تلبي الاحتياجات. الغرض من هذه المشكلة هو توحيد الموقع المكشوف للواجهة . الوضع الحالي هو أن موقع الواجهة لا يمكن التنبؤ به في المجلد lib/[component name]/
.
لكني ما زلت آمل أن يتم تبني الأول ، شكرًا.
مرحبًا ، أنا أحاول معرفة سبب عدم نجاحي ولكن ، لدي هذا الخطأ node_modules / antd / lib / form / index "" ليس لدى "FormComponentProps" عضو مُصدر.
كان الحل البديل الخاص بي هو استيراد {FormComponentProps} من 'antd / lib / form / Form'؛
ماذا أفعل خطأ؟
تضمين التغريدة
هل تقصد أنك جربت هذا: import { FormComponentProps } from 'antd/lib/form
، لكن حدث خطأ؟
بالطبع هذا خطأ ، لأن FormComponentProps
لم يظهر في lib/form
dir الآن ، لهذا السبب أرسل هذه المشكلة :)
newraina ahhhh الآن أحصل عليه! : D آسف ، في هذه الأثناء سأستخدم الاستيراد {FormComponentProps} من 'antd / lib / form / Form'؛ حسنا ؟
DavidNorena نعم
يمكنك مساعدتنا في هذا.
التعليق الأكثر فائدة
أعتقد أن أول واحد أفضل.
قد يكون اختيار الطريقة الثانية لأن أول واجهة مكشوفة قد تكون واجهات أيضًا ، ولكن هذه الواجهات مفيدة جدًا عند استخدام TypeScript ، أولئك الذين لا يستخدمون TS ببساطة لا يروها.
ستعرض العديد من الأطر المكتوبة بلغة TS الواجهة إلى أقصى الحدود ، ولن تجد أي مشاكل.
بالطبع ، الطريقة الثانية يمكن أن تلبي الاحتياجات. الغرض من هذه المشكلة هو توحيد الموقع المكشوف للواجهة . الوضع الحالي هو أن موقع الواجهة لا يمكن التنبؤ به في المجلد
lib/[component name]/
.لكني ما زلت آمل أن يتم تبني الأول ، شكرًا.