我正在寻找redux todomvc代码。什么是static关键字static propTypes?谢谢
static
static propTypes
更新
不知道为什么要投票?这篇文章太简单了吗?欢迎发表评论。谢谢。希望我可以删除这篇文章。
static不是上一代Javascript(“ ES5”)的一部分,这就是为什么在较旧的文档中找不到它的原因。但是,除Internet Explorer(http://caniuse.com/#search=es6)之外,所有主流浏览器现在都支持它以及“ ES6”类语法的其余部分,如果您使用像Babel这样的编译器,则可以使用它在任何浏览器中。大多数React用户已经在使用Babel来转换其JSX,因此React站点(如Redux TodoMVC)将其视为理所当然。您可以static在这里阅读更多信息https://developer.mozilla.org/en- US/docs/Web/JavaScript/Reference/Classes/static。
对于static propTypes,propTypes需要在类本身而不是在类实例上声明。换句话说,如果您使用无状态组件:
function Foo() { this.PropTypes = somePropTypes; // bad return <div></div>; } Foo.PropTypes = somePropTypes; // good
使用ES6类时,等效项Foo.PropTypes = somePropTypes是:
Foo.PropTypes = somePropTypes
class Foo extends React.Component { static PropTypes = somePropTypes; }
附带说明一下,在任何浏览器中尚不具备在类似类中定义属性的功能(尚未):您需要带有transform-class- properties插件的Babel之类的编译器。
transform-class- properties