2014-12-12 5 views

Antwort

13

Der Punkt ist, dass der Getter eine Eigenschaft des Objekts ist, das Sie an übergeben, nicht der Klasse, die erstellt wird: react behandelt es als Wert. Aus reagiert Sicht sind die folgenden zwei Code-Snippets genau das gleiche:

var MyComponent = React.createClass({ 
    foo: "asdf", 
    ... 
}) 

gegen

var MyComponent = React.createClass({ 
    get foo() { return "asdf" }, 
    ... 
}) 

Für Funktionen, die Sie createClass passieren, reagieren die this Variable an die Komponente bindet, sondern auch für Getter es ist nicht möglich.

+0

Das macht total Sinn, danke! Leider macht dies Getter in React nicht sehr nützlich. – vdg

+1

Vdg, Sie könnten Object.defineProperty in ComponentWillMount verwenden, es ist nur eine sehr seltsame Sache zu tun. Sie sollten nur Funktionen verwenden, die den zusätzlichen Vorteil haben, Argumente zu haben :-) – FakeRainBrigand

Verwandte Themen