توسيع أنواع TypeScript للوحدات الأصلية في React Native
لدي وحدة أصلية وأود أن أقوم بكتابتها.
إليك مثال على واجهة الوحدة الخاصة بي
export interface BBAudioPlayer {
playSound: (sound: 'click' | 'tada') => Promise<void>;
pause: () => Promise<void>;
}
وهكذا أستخدمه:
NativeModules.BBAudioPlayer.playSound('tada');
كيف يمكنني توسيع NativeModules لإضافة أنواع الوحدة الجديدة الخاصة بي؟
الإجابة رقم 1
// extendNativeModules.d.ts
// import original module declarations
import 'react-native';
export interface BBAudioPlayerInterface {
playSound: (sound: 'click' | 'tada') => Promise<void>;
pause: () => Promise<void>;
}
// and extend them!
declare module 'react-native' {
interface NativeModulesStatic {
BBAudioPlayer: BBAudioPlayerInterface;
}
}
