機能コンポーネントBabelプラグインへのクラスの対応


私はBabelESLint、およびPrettierのようなあなたのコードを分析して、変えるツールに興味を持っていました.私は自分自身に考え、なぜBabelプラグインを作るのか?それで私はしました.

概要
このBabelプラグインはVariableDeclaration Sを検索し、機能部品に変換します.制限のため、この種のコンポーネントはES 6クラスまたはJSXを使用することはできません.

デモ
これ
import React from "react";

const Hey = React.createClass({
  componentDidMount() {
    console.log("a");
    console.log("b");
  },

  render() {
    return React.createElement("div", null, "Hey!");
  },
});

export default Hey;
これになります.
import React from "react";

function Hey(props) {
  function componentDidMount() {
    console.log("a");
    console.log("b");
  }

  useEffect(componentDidMount);
  return React.createElement(
    "div",
    null,
    "Hey!"
  );
}

export default Hey;

貢献
彼らが新しい特徴を加えるか、より多くのフックを統合するならば、引き要求は歓迎です.
Github
NPM