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.
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.
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.
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.
Tags und Links reactjs ecmascript-6 babel