我有一个问题,归结为试图将具有特定参数类型的函数分配给期望具有泛型类型的函数的变量:
const s: <T>(v: T)=>string
= (v: string[])=>(v[0]||'x');
游乐场版。
TypeScript给出以下错误:
类型“(v:string[]))=
这个错误对我来说没有多大意义,因为对于泛型t
,似乎string[]
是一个非常合理的类型。
有一个相关的问题具有相同的基本问题,但是答案是特定于该问题的情况的:为什么实现接口的TypeScript类不能分配给扩展接口的通用约束?
您试图获取一个接受字符串数组并返回字符串的函数,并将该函数分配给一个接受任何T并返回字符串的变量。接受字符串数组作为输入的函数不能接受任何T作为输入。
正如kaya3所提到的,您正试图将一个采用特定类型的函数string[]
分配给一个采用泛型类型的函数。相反,您可以使用泛型签名定义一个类型。然后创建一个函数,该函数接受该泛型签名的一个特定实例。像这样的东西:
type MyType<T> = (v: T) => string;
const s: MyType<string[]> = (v: string[]) => v[0] || 'x' ;
如果您只有一种类型,这就足够了:
const s = (v: string[]) => v[0] || 'x' ;
你好,我在小部件上的以下代码中出错 参数类型'List 这是我的代码 我的代码与上面的图表插件不兼容吗?如何解决这个问题?
我对这个flutter简单图表代码有问题。在我尝试运行代码时显示此错误。有人能帮我吗...... 参数类型'List 这是代码示例:
我对弗利特和我是新手;我一直在尝试开发一款带有PHP API后端的应用程序。在无数的答案和在线研究中,我无法找到解决我所面临问题的方法。我希望有人能告诉我我做错了什么。 我试图从API中获取数据,并将其显示在卡中。下面是我的代码: 希望能得到一些帮助。非常感谢。
当我将值从主页传递到源页面时,它显示了一个错误:参数类型“Future”无法分配给参数类型“uluFunction()”。(argument_type_not_assignable[strong text]lib\home.dart:15) 我哪里做错了?? 主页- 下面的页面是我想使用主页值的地方-
参数类型“List”不能分配给参数类型“Widget?函数(BuildContext, int)”。 缺少选择器,如“”。标识符“”或“[0]”。 参数类型“库比蒂诺列表”不能分配给参数类型“动态函数(动态)”。 未定义的名称“e”。 未定义的类's'。 应找到“;”。 我正在克服错误。如何解决这个问题 选择\u county。飞奔 国家代码。json