【问题标题】:Difference between : and <> (Typescript) [duplicate]:和<>(打字稿)之间的区别[重复]
【发布时间】:2021-09-07 06:01:27
【问题描述】:

上下文

伙计们,我从 Typescript 开始,现在我只是在与一些概念作斗争。

例如,当为函数指定参数时,我将类型设置为:

function example(test: string){...}

但现在我正在进入状态,我看到类型被这样指定:

type User = {
  id: string;
  name: string;
  avatar: string;
}

const [user, setUser] = useState<User>();

问题

所以我的问题是:: 有什么区别?

【问题讨论】:

  • 一个是类型注解,另一个是泛型​​类型参数。除了在类型系统中使用之外,它们没有任何共同之处。
  • @VLAZ 感谢您提出这个新条款。能够进行一些研究,现在这很有意义!

标签: javascript reactjs typescript


【解决方案1】:
function example(test: string){...}

这设置了函数参数的类型。如果你调用这个函数,你必须用string作为它的第一个参数来调用它。


const [user, setUser] = useState<User>();

这是一个泛型类型参数。这是一种将类型传递给其他类型以便以特定于该类型的方式使用的方法。它可能将类型设置为函数参数,或者它可能会做一些完全不同的事情。在这种情况下,它声明了useState 将管理的状态类型。它设置默认值的类型(您传递给useState() 的参数,以及返回值的类型(user 将是User 类型,而setUser() 将只接受User 作为值设置)。

【讨论】:

  • 感谢您的回复。现在真的很有意义。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-07-29
  • 2016-07-08
  • 1970-01-01
  • 2014-04-09
  • 2017-09-03
  • 2014-08-16
  • 2011-04-08
相关资源
最近更新 更多