بناء الجملة للدوال السهمية مع الأدوية (العامة) في TypeScript
مرحباً بالجميع! أنا مبتدئ في TypeScript ولا أستطيع فهم بناء جملة الدوال السهمية عند الحاجة لاستخدام الأدوية (الأنواع العامة).
في الدوال العادية أكتب هكذا — كل شيء يعمل:
```typescript
function identity(arg: T): T {
return arg;
}
```
لكن عندما أحاول فعل نفس الشيء مع دالة سهمية، يظهر TypeScript أخطاء. جربت عدة خيارات:
```typescript
// الخيار 1 - خطأ
const identity = (arg: T): T => arg;
// الخيار 2 - لا يعمل أيضاً
const identity = (arg: T): T => arg;
// الخيار 3 - يشتكي من JSX
const identity = (arg: T): T => arg;
```
تحديداً في مكونات React مع JSX، رأسي في حالة فوضى. عندما أكتب `` داخل JSX، يعتقد TypeScript أنه عنصر JSX وليس دعامة (generic). كيف أعلن بشكل صحيح عن الدوال السهمية مع الأدوية في TypeScript؟ وهل هناك فرق في بناء الجملة بين TypeScript العادي وملفات JSX (.tsx)؟
شكراً مسبقاً على المساعدة!