gpt4 book ai didi

typescript - 你如何猴子修补明确类型的定义

转载 作者:行者123 更新时间:2023-12-05 03:09:25 24 4
gpt4 key购买 nike

我使用的 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/... 只会遇到其他问题。

最佳答案

模块扩充的语法需要是:

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
}
}

更多详情请看这里https://www.typescriptlang.org/docs/handbook/release-notes/typescript-1-8.html#augmenting-globalmodule-scope-from-modules

关于typescript - 你如何猴子修补明确类型的定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43017430/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com