有没有一种方法可以将类型中的值用作Typescript中的defaultProp

Jac*_*bdo 0 typescript reactjs

我有以下类型定义:

type Size = "m" | "s"
Run Code Online (Sandbox Code Playgroud)

我有一个功能组件 Thing

size本着以下精神设置默认道具:

Thing.defaultProps = {
 size: Size[0]
}
Run Code Online (Sandbox Code Playgroud)

这段代码告诉我,我正在尝试使用type作为值。有什么办法吗?

Seb*_*önn 5

您可以改为使用枚举来解决此问题。例如:

enum Size {
  M = "m"
  s = "s"
}

Thing.defaultProps = {
   size: Size.M
}
Run Code Online (Sandbox Code Playgroud)

使用枚举,可以将变量设置为枚举的类型,也可以将其设置为值。使用类型只是变量的定义