为什么getter无法访问React组件中的状态?

vdg*_*vdg 8 javascript reactjs

试图从getter访问组件状态,我注意到它this设置为与普通方法不同的上下文,因此this.state不起作用.

见这里:http: //jsfiddle.net/tkaby7ks/

为什么这样,我如何从getter访问状态?

Oll*_*liM 15

关键是getter是您传递给的对象的属性React.createClass,而不是创建的类的属性:react将其视为值.从反应的角度来看,以下两个代码片段完全相同:

var MyComponent = React.createClass({
    foo: "asdf",
    ...
})
Run Code Online (Sandbox Code Playgroud)

var MyComponent = React.createClass({
    get foo() { return "asdf" },
    ...
})
Run Code Online (Sandbox Code Playgroud)

对于传递给的函数createClass,react 会将this变量绑定到组件,但对于getter,它是不可能的.