Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript 如何修补一个确定类型的定义_Typescript_Typescript Typings - Fatal编程技术网

Typescript 如何修补一个确定类型的定义

Typescript 如何修补一个确定类型的定义,typescript,typescript-typings,Typescript,Typescript Typings,我使用的npm模块在@types/*/index.d.ts文件中缺少一些定义。 我已经提交了一个关于它们的问题 同时,我想做一些本地的事情来解决这个问题,结果证明这很难 我尝试修补index.d.ts文件,但我使用的是Thread,每次我添加另一个模块时,它都会嗅出更改并“修复”文件。所以某种局部补丁是最好的 我尝试添加一个本地定义,但要么我做得不对,要么就是不可能。这里有很多尝试中的一个:局部定义,比如 import {MapControl} from 'react-leaflet' ...

我使用的npm模块在@types/*/index.d.ts文件中缺少一些定义。 我已经提交了一个关于它们的问题

同时,我想做一些本地的事情来解决这个问题,结果证明这很难

我尝试修补index.d.ts文件,但我使用的是Thread,每次我添加另一个模块时,它都会嗅出更改并“修复”文件。所以某种局部补丁是最好的

我尝试添加一个本地定义,但要么我做得不对,要么就是不可能。这里有很多尝试中的一个:局部定义,比如

import {MapControl} from 'react-leaflet'
...
declare class MapControl extends React.Component<MapControlProps, any> {
    leafletElement: L.Control
}
从“反应传单”导入{MapControl}
...
声明类MapControl扩展React.Component{
元素:L.对照
}

没有帮助;
import
没有参考MapControl的实现,只是仍然看到没有定义。将其直接指向节点\u modules/react-palicate/…会遇到其他问题。

模块扩展的语法需要:

import * as React from "React";

declare module 'react-leaflet' {
    type MapControlPosition = 'topleft' | 'topright' | 'bottomleft' | 'bottomright';

    interface MapControlProps {
        position: MapControlPosition
    }

    class MapControl extends React.Component<MapControlProps, any> {
        leafletElement: L.Control
    }
}
import*as React from“React”;
声明模块“反应传单”{
键入MapControlPosition='topleft'|'topright'|'bottomleft'|'bottomright';
接口MapControlProps{
位置:MapControlPosition
}
类MapControl扩展了React.Component{
元素:L.对照
}
}
请参阅此处了解更多详细信息