这两种写属性验证propTypes的方法是一回事吗

看到两种写属性验证的方式
一个是在class内部 用 static 的方式,出现红色是说当前不是 .ts文件 ,我这个是 .js文件

clipboard.png

还有一个是直接 类名.propTypes 方式,我之前看的都是这种方式,所以看到上面的那种方式优点不太适应。

我猜想这两种写法或许等价,但如果等价又有新的问题
static不是静态的意思吗? propTypes 是属性类型的意思,this.props.xxx 明明就属于实例化的那个对象,static 是类的,那二者就不能等价。

我以前接触的js都是没有类的概念,现在的js引入了类的概念,我有点昏,多谢朋友指点迷津!

clipboard.png

阅读 4.8k
1 个回答

两者是一样的,static 的写法应该只是前者的一种语法糖吧,目前处于提案阶段,babel 支持,具体可以按这里静态属性

// 老写法
class Foo {
}
Foo.prop = 1;

// 新写法
class Foo {
  static prop = 1;
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题