Definitelytyped: [@ types / رد فعل]: لا يحتوي React.Fragment على أي بناء أو توقيعات استدعاء

تم إنشاؤها على ٣ ديسمبر ٢٠١٧  ·  3تعليقات  ·  مصدر: DefinitelyTyped/DefinitelyTyped

  • [x] حاولت استخدام الحزمة @types/react وواجهت مشاكل.
  • [x] حاولت استخدام أحدث إصدار مستقر من tsc. https://www.npmjs.com/package/typescript
  • [x] لدي سؤال غير مناسب لـ StackOverflow . (يرجى طرح أي أسئلة مناسبة هناك).
  • [x] [أذكر] (https://github.com/blog/821-mention-somebody-they-re-notified) المؤلفون (انظر Definitions by: في index.d.ts ) حتى يتمكنوا من ذلك رد.

    • المؤلفون: uniqueiniquity ، tkrotoff ، vsiao ،

كان هناك بعض النقاش حول النوع المناسب لـ React.Fragment في # 21146 ، ولكن في حين أن symbol | number قد يعكس بدقة نوع React الداخلي لـ Fragment ، فإنه يمنع React.Fragment من استخدامها كعنصر TSX.

<React.Fragment> // error here: React.Fragment does not have any construct or call signatures
  <div>Child 1</div>
  <div>Child 2</div>
</React.Fragment>

أدرك أنه يمكننا عرض الأجزاء باستخدام صيغة <></> ، لكن مستندات React تنص على أن هذا ببساطة يفك السكريات إلى <React.Fragment></React.Fragment> وأن هذه هي الطريقة الوحيدة لإضافة مفاتيح إلى جزء .

لذلك ، أعتقد أن نوع React.Fragment يجب تغييره إلى شيء أقرب إلى React.ComponentType<{}> ، والذي سيمنحه الدعائم key و children .

يمكنني فتح العلاقات العامة إذا وافق الناس على هذا الاقتراح.

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

تضمين التغريدة لدي فرع جاهز للذهاب إذا كان إصلاحه في TS غير ممكن / عملي.

ال 3 كومينتر

شكرا لالتقاط هذا ، jgoz!
أعتقد أن النهج الأفضل قد يكون بالنسبة لنا لإصلاح هذا من جانب TypeScript ، بدلاً من تغيير نوع React.Fragment للتغلب على سلوك المترجم.
سأبحث في هذا وأرى ما إذا كان هذا هو أفضل نهج.

تضمين التغريدة لدي فرع جاهز للذهاب إذا كان إصلاحه في TS غير ممكن / عملي.

jgoz انطلق وافتح العلاقات العامة. بعد بعض المناقشة هنا ، يبدو أن لديك النهج الصحيح في الوقت الحالي.

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