mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-04-28 17:35:49 +08:00
Fixes #18734
* Altered typing of NativeModulesStatic to enable NativeModule modules of type any and typed native modules at the same time. * Added test case for typed and untyped native modules.
This commit is contained in:
7
types/react-native/index.d.ts
vendored
7
types/react-native/index.d.ts
vendored
@@ -9126,9 +9126,12 @@ export var NativeEventEmitter: NativeEventEmitter
|
||||
export var NativeAppEventEmitter: RCTNativeAppEventEmitter
|
||||
|
||||
/**
|
||||
* Empty interface which can be augmented by other type definitions for the NativeModules var below.
|
||||
* Interface for NativeModules which allows to augment NativeModules with type informations.
|
||||
* See react-native-sensor-manager for example.
|
||||
*/
|
||||
interface NativeModulesStatic {}
|
||||
interface NativeModulesStatic {
|
||||
[name: string]: any;
|
||||
}
|
||||
|
||||
/**
|
||||
* Native Modules written in ObjectiveC/Swift/Java exposed via the RCTBridge
|
||||
|
||||
@@ -39,8 +39,24 @@ import {
|
||||
ScrollViewProps,
|
||||
RefreshControl,
|
||||
TabBarIOS,
|
||||
NativeModules
|
||||
} from 'react-native';
|
||||
|
||||
declare module 'react-native' {
|
||||
interface NativeTypedModule {
|
||||
someFunction(): void;
|
||||
someProperty: string;
|
||||
}
|
||||
interface NativeModulesStatic {
|
||||
NativeTypedModule: NativeTypedModule
|
||||
}
|
||||
}
|
||||
|
||||
NativeModules.NativeUntypedModule;
|
||||
|
||||
NativeModules.NativeTypedModule.someFunction();
|
||||
NativeModules.NativeTypedModule.someProperty = "";
|
||||
|
||||
function testDimensions() {
|
||||
const {
|
||||
width,
|
||||
|
||||
Reference in New Issue
Block a user