React.createClass
はyou can still use the now-separate create-react-class
package instead次期バージョンでの主react
パッケージから削除されようとしているため、非推奨されてきたが。 「あなたのように - あなたはNPMに公開されるコンポーネントを書くことES6クラスを使用している場合
することは、あなたがするので予見可能な将来のためにNPMにES5コードを公開しているので、transpileステップを追加する必要があります。 ES6をサポートしていないツールが壊れてしまい、それらを使用するアプリケーションがES6クラスをネイティブにサポートしていないブラウザ(IE11など)に侵入する可能性があります。
既にバベルをJSXに変換するように設定している場合は、公開する前にクラスを遠隔操作する必要はありません。babel-preset-es2015
プリセットをインストールしてBabel設定に追加してください。我々はツールとブラウザでES6のサポートはもはや問題である点に到達したとき、彼らはconstructor
定型を紹介して
はしても、標準ES6クラスは、createClass
に比べて部品に反応書くための非常に便利な方法ではありません手動のメソッドバインディングが必要で、propTypes
のような静的プロパティを別途宣言する必要があります。
これを克服するための便利な機能(上記の例ではES6を使用しないReactコンポーネントの作成についての例もあります)には、提案された言語機能の実験的な実装(最も有用なものをカバーしています) Babelのプラグインを使用しているので、これらの機能を使用すると、とにかくコードを翻訳する必要があります。
クラスはUglifyJSによって解析されない機能なので、道のどこかでトランスバレーター(Babelなど)が必要です。あなたのNPMパッケージはあなたのモジュールの蒸散版を提供するか、あなたのReactプロジェクトはあなたのモジュールを透明化するべきです(それほど標準的ではありません) –