gpt4 book ai didi

typescript - 覆盖其他库扩展的 TypeScript 定义

转载 作者:搜寻专家 更新时间:2023-10-30 22:01:42 24 4
gpt4 key购买 nike

我遇到过几种情况,其中一个库扩展了另一个库,尤其是在我使用 React 和 Redux 时。

举个例子,假设我正在使用一个 JS 库,它导出了一个可以这样定义的函数:

function dispatch(action:IAction):void;

interface IAction {
type: string;
}

我使用另一个 JS 库来增强 dispatch 函数以允许回调,可以这样定义:

function dispatch(action:IAction | IActionCallback):void;

interface IActionCallback {
(dispatch:IDispatch):void;
}

问题是第二个库扩充了第一个库。这如何在打字中正确表达?或者可以吗?

最佳答案

所以您要做的是让扩展库的声明文件“扩充”原始库。

redux-thunk declaration file几乎完全一样:它增强了 redux 的 Dispatch 接口(interface)。

欲了解更多信息,I wrote a more detailed answer如果您想扩充另一个模块,则有不同的可能性,具体取决于您的声明文件是否需要全局。或者看看 page on declaration merging来自 typescript 手册。

如果您还有任何问题,我很乐意为您提供帮助 🙂。

关于typescript - 覆盖其他库扩展的 TypeScript 定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38960383/

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