我有以下小部件类:
var Widget = React.createClass({
statics: {title: "a title"},
...
});
有没有办法在类' es方法(使用this
)中访问标题static?例如:
render: function() {
return <div>{this.title}</div>;
}
答案 0 :(得分:18)
您可以从this.constructor
:
所以在这种情况下它将是:
this.constructor.title
答案 1 :(得分:8)
直接回答:
React.createClass({
title: 'a title',
render: function() {
return <div>{this.title}</div>;
}
});
或者:
React.createClass({
componentWillMount: function(){
this.title = 'a title';
},
render: function() {
return <div>{this.title}</div>;
}
});
但实际上......为什么不使用变量?
var TITLE = 'a title';
React.createClass({
render: function() {
return <div>{TITLE}</div>;
}
});
答案 2 :(得分:6)
React类的statics
对象是一种定义静态方法的方法(即,不需要运行任何上下文的方法)。话虽如此,从this
调用静态方法是没有意义的。
看起来你正在寻找一个&#34;静态&#34;财产(即不可变)。因此,您应该像this.props.title
上的render()
一样使用它。要设置标题的值,您应该<Widget title='a title'/>
。值得一提的是,您可以通过定义getDefaultProps
方法来设置默认属性。