我正在使用npm模块,在@types / * / index.d.ts文件中有一些缺少的定义。 我已经提交了一个问题。
与此同时,我想做一些本地化的事情来解决这个问题,结果证明这很难。
我尝试修补index.d.ts文件,但我正在使用yarn,它会嗅出更改并在每次添加另一个模块时“修复”该文件。所以某种本地补丁最好。
我尝试过添加一个本地定义,但要么我做得不对,要么就是不可能。这是许多人的一次尝试:本地定义,如
import {MapControl} from 'react-leaflet'
...
declare class MapControl extends React.Component<MapControlProps, any> {
leafletElement: L.Control
}
没有帮助; import
没有参考MapControl的实现,只是仍然看到没有定义。直接指向node_modules/react-leaflet/...
只会遇到其他问题。
答案 0 :(得分:2)
模块扩充的语法必须是:
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
}
}