Statische propTypes funktionieren nicht unter ES6

8

Ich möchte einige Regeln für Requisiten hinzufügen:

%Vor%

Aber ich habe einen Fehler:

%Vor%

Ich habe diese Konfiguration für babel:

%Vor%

Was habe ich falsch gemacht?

Upd. Code ändern: Verwenden Sie static

    
Meldum 13.07.2016, 23:10
quelle

4 Antworten

16

Es scheint, dass Sie Ihren Code nicht so transpilieren, dass er statische Klasseneigenschaften erkennen kann. Wenn Sie babel verwenden, können Sie dies mithilfe der Klasseneigenschaftsumwandlung aktivieren: Ссылка .

In unserer Codebasis erhalten wir diese Funktionalität mit der Vorgabe für Stufe 1 Ссылка

Natürlich könntest du immer deine Propotypen für die Klasse definieren:

%Vor%

^^ das erfordert keine spezielle transpilation.

Die statische Eigenschaft in class ist nett, also kannst du sie so einrichten

%Vor%

, anstatt die PropTypes in this im Konstruktor zu definieren.

    
JizoSaves 13.07.2016, 23:27
quelle
1

Ich lasse diese Antwort für die Kommentare, aber Timothys Antwort bezüglich Babel ist besser.

In ES6 haben Klassen Methoden, und das ist es - nicht einmal Eigenschaften, geschweige denn statisch:

Ссылка

ES2017 unterstützt möglicherweise einen anderen Eigenschaftsmechanismus:

Ссылка

Diese Frage hängt stark mit ES6-Klassenvariablenalternativen zusammen und ist letztendlich wahrscheinlich ein Betrogener.

    
Dave Newton 13.07.2016 23:18
quelle
1

Dies ist die statische Eigenschaft der ES7-Klasse.

Sie können es mit babel-presets-stage-1 verwenden. Hier ist das Dokument Ссылка und Ссылка

Wenn Sie alle Funktionen von ES7 nutzen möchten, müssen Sie nur das babel-preset-stage-0 installieren.

%Vor%

Weil die stage-0 Abhängigkeit stage-1 , stage-1 Abhängigkeit stage-2 und so weiter ist. Der npm installiert alle Abhängigkeiten. So können Sie alle Funktionen von ES7 nutzen.

    
novaline 14.07.2016 04:23
quelle
0

Das hat nicht funktioniert, weil ich vergessen habe ..

%Vor%     
danday74 08.06.2017 16:53
quelle

Tags und Links