小编Tom*_*Ell的帖子

解析"无法调用类型缺少调用签名的表达式"typescript错误 - Visual Studio C#React/Redux模板

当我在Visual Studio中使用C#React/Redux Web应用程序模板创建新项目时,"\ ClientApp\configureStore.ts"文件中报告了一个错误.

"createStoreWithMiddleware(allReducers,initialState)"用红色下划线,错误说明:

"TS2349 (TS) Cannot invoke an expression whose type lacks a call signature. Type '{}' has no compatible call signatures."
Run Code Online (Sandbox Code Playgroud)

重播步骤:

  • 打开VS 2017 Community Edition 15.3.4版
  • 使用.NET framework 4.7创建一个新的C#Web项目
  • 选择React/Redux Web应用程序模板和.NET Core版本2.0
  • 当项目加载时,缺少npm依赖项,因此我通过在Package Manager控制台中打开项目文件夹并键入"npm install npm @ latest -g"来解决依赖项问题.
  • 在此之后,该网站现在将加载,该网站似乎运行正常.但是,"createStoreWithMiddleware(allReducers,initialState)"显示如上所述的错误.

我不愿意简单地忽略错误或抑制错误,因为我怀疑这可能是定义调用签名(或者转换?)的简单情况.我的打字稿知识几乎不存在,如果这是一个非常基本的问题,请道歉.

[更新] - 事实证明,如果我删除以下代码行,则不再显示错误.当然这意味着devTools扩展将无法工作,所以我需要弄清楚这条线路正在做什么,以使其工作而不会抛出错误.

devToolsExtension ? devToolsExtension() : <S>(next: StoreEnhancerStoreCreator<S>) => next
Run Code Online (Sandbox Code Playgroud)

"configureStore.ts"文件的代码如下: - 提前感谢任何帮助!

import { createStore, applyMiddleware, compose, combineReducers, GenericStoreEnhancer, Store, StoreEnhancerStoreCreator, ReducersMapObject } from 'redux';
import thunk from 'redux-thunk';
import { routerReducer, routerMiddleware …
Run Code Online (Sandbox Code Playgroud)

typescript asp.net-core

6
推荐指数
1
解决办法
1983
查看次数

标签 统计

asp.net-core ×1

typescript ×1