TS7006:参数“ __”隐式具有“ any”类型。我无法理解下面的错误和解决方案

托尼·恩戈玛纳

拳头我的代码看起来像这样

  const customerInputHandler = (currentCustomer) => {
    setCustomer(currentCustomer.nativeEvent.text);
  };

在搜索互联网之后,我找到了一个解决方案,并在下面实现了此代码。我正在四处搜寻以尝试理解此代码,但无法。可以请一些我解释上面的错误并解释为什么这个解决方案可以解决所有问题

const customerInputHandler = (currentCustomer: {
     nativeEvent: {text: React.SetStateAction<string>};
  }) => {
    setCustomer(currentCustomer.nativeEvent.text);
};
希卡什

在typescript中,所有未赋予显式类型(编译器无法对其进行推断)的事物均被赋予type any这并不一定是错误-有时事情很难描述,或者可以合理地描述any(例如,fetch语句的结果)。在这些情况下,您需要标记类型明确 any注意:我认为您可以关闭此行为,以便隐式anys有效(您不应这样做-否则,请使用javascript)

至于修复为何有效:您输入了currentCustomer一个类型。具体来说,其类型为:

{
 nativeEvent: {
  text: React.SetStateAction<string>
 }
}

因此,与该特定结构匹配的任何值都可以是该函数的参数。另一种选择是简单地使之any明确。该代码大约是:

const customerInputHandler = (currentCustomer: any) => {
    setCustomer(currentCustomer.nativeEvent.text);
};

尽管免责声明:我实际上尚未对此进行测试。再次,您将希望尽可能避免使用any它,因为它会迅速散布到整个应用程序中,从而产生大量的打字稿问题。

您可能想要查看是否可以在项目中包括一些react native @types包,这可能是上述类型的简写。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

函数重载错误:TS7006:参数“ x”隐式具有“ any”类型

错误 TS7006:参数“item”隐式具有“any”类型

打字稿:TS7006:参数“ xxx”隐式具有“ any”类型

firebase错误TS7006:参数“快照”隐式具有“任意”类型

错误 TS7006:参数“req”隐式具有“任何”类型

错误:参数“e”隐式具有“任何”类型。TS7006 - 反应打字稿

另一个TS7006:参数“ X”隐式具有“ any”类型-但不完全相同

参数隐式具有“ any”类型

绑定元素'Component'隐式具有'any'类型.ts

参数“ dispatch”隐式具有“ any”类型

为什么参数“ props”隐式具有“ any”类型?

参数“error”隐式具有“any”类型

打字稿:参数“错误”隐式具有“任意”类型

Angular - 参数“url”在 Angular 服务中隐式具有“任何”type.ts(7006)

具有模板化函数参数的隐式类型转换

参数结果隐式具有任何类型

Angular Firebase参数“结果”隐式具有“任何”类型

打字稿错误:TS7053元素隐式具有“ any”类型

React Navigation 5错误绑定元素'navigation'隐式具有'any'类型.ts

react / typescript:参数“ props”隐式具有“ any”类型错误

错误TS7008:成员“摘要”隐式具有“任何”类型

Vuex Typescript我收到错误“成员'someMutation'隐式具有'any'类型”。在Component.ts文件中

当接口具有多个通用参数时,如何解决“无法将[类型]隐式转换为[接口]”错误?

Angular2-参数$ event隐式具有“ any”类型

如何修复redux-observable参数'action $'隐式具有'any'类型

如何修复绑定元素'children'隐式具有'any'type.ts(7031)?

绑定元素 'smth here' 隐式具有 'any' type.ts(7031)

React Typescript - 绑定元素“C”隐式具有“任何”类型。TS7031

具有两个不同类型参数的隐式模板类型推导