【问题标题】:Typescript error: Argument type is not assignable to parameter type, but they are the same打字稿错误:参数类型不可分配给参数类型,但它们是相同的
【发布时间】:2018-05-25 03:50:37
【问题描述】:

请告诉我,为什么会出现错误?

interface IAction {
  readonly type: "GET_CURRENT_DATE" | "SET_CURRENT_DATE";
}
interface IDispatch {
    (param: IAction): void;
}
export const getCurrentDate = () => (dispatch: IDispatch) => {
    dispatch({type: "GET_CURRENT_DATE"});
};

错误:参数类型 {type:string} 不可分配给参数类型 IAction

但 {type: "GET_CURRENT_DATE"} 与 IAction 相同

更新: 在 package.json ->“打字稿”:“^2.6.2”。 使用 webpack "ts-loader" 编译也没有错误,但在我的 IDE (PhpStorm 2017.3) 中我看到了这个错误消息。

【问题讨论】:

  • 准确的代码在the TypeScript Playground 中没有错误。你使用的是什么版本的 TypeScript?
  • “打字稿”:“^2.6.2”。使用 webpack ts-loader 编译也没有错误,但在我的 IDE (PhpStorm 2017.3) 中我看到了这个错误消息。
  • 通常您应该确保您的问题是complete and verifiable,以便其他人可以帮助您。现在我建议你了解一下你的 IDE 是如何运行 TypeScript 编译器的,因为你的问题很可能是配置问题而不是代码问题。
  • 你是对的。我已经在“设置|语言和框架|打字稿”中更改了此设置,并将选中的“角度语言服务”更改为“也适用于没有 tsconfig.json 的项目”。现在可以了

标签: reactjs typescript types interface


【解决方案1】:

我已经在我的 IDE(WebStorm)“设置 | 语言和框架 | Typescript”中更改了此设置,并将选中的“TypeScript 语言服务”更改为“也适用于没有 tsconfig.json 的项目”。现在可以了

【讨论】:

    猜你喜欢
    • 2018-06-13
    • 2017-04-23
    • 1970-01-01
    • 2018-06-19
    • 1970-01-01
    • 2017-08-12
    • 2016-09-26
    • 1970-01-01
    • 2021-10-18
    相关资源
    最近更新 更多