Ant-design: [طلب ميزة] تعريف واجهة تصدير Props في كافة ملفات index.d.ts المكونة

تم إنشاؤها على ٢٣ يونيو ٢٠١٧  ·  8تعليقات  ·  مصدر: ant-design/ant-design

ما المشكلة التي تحلها هذه الميزة؟

إن وجود واجهة 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: مخطط

help wanted 🗣 Discussion

التعليق الأكثر فائدة

أعتقد أن أول واحد أفضل.

قد يكون اختيار الطريقة الثانية لأن أول واجهة مكشوفة قد تكون واجهات أيضًا ، ولكن هذه الواجهات مفيدة جدًا عند استخدام TypeScript ، أولئك الذين لا يستخدمون TS ببساطة لا يروها.

ستعرض العديد من الأطر المكتوبة بلغة TS الواجهة إلى أقصى الحدود ، ولن تجد أي مشاكل.

بالطبع ، الطريقة الثانية يمكن أن تلبي الاحتياجات. الغرض من هذه المشكلة هو توحيد الموقع المكشوف للواجهة . الوضع الحالي هو أن موقع الواجهة لا يمكن التنبؤ به في المجلد lib/[component name]/ .

لكني ما زلت آمل أن يتم تبني الأول ، شكرًا.

ال 8 كومينتر

أعتقد أن ما يلي جيد بما يكفي:

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 نعم

يمكنك مساعدتنا في هذا.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات