尝试从getter访问组件状态,我注意到this
设置为与普通方法不同的上下文,因此this.state
不起作用。
见这里: http://jsfiddle.net/tkaby7ks/
为什么这样,我怎样才能从getter访问状态?
答案 0 :(得分:15)
关键是getter是传递给React.createClass
的对象的属性,而不是创建的类的属性:react将其视为值。从反应的角度来看,以下两个代码片段完全相同:
var MyComponent = React.createClass({
foo: "asdf",
...
})
VS
var MyComponent = React.createClass({
get foo() { return "asdf" },
...
})
对于传递给createClass
的函数,react会将this
变量绑定到组件,但是对于getter,它是不可能的。