次のコードがあります。
const priceCalculator = ReactDOM.render(<PriceCalculator />, reactHolder);
後でコードで使用する必要がありpriceCalculator
ますが、ESLint は の戻り値を使用すべきではないと不平を言っていますReactDOM.render()
。そのとき、コールバックである3 番目の引数を渡すことができることを発見しました。ReactDOM.render()
すごい…と思いました。
ReactDOM.render(<PriceCalculator />, reactHolder, function(priceCalculator) {
// do something with priceCalculator
});
しかしpriceCalculator
、未定義です。デバッガーで例外を一時停止し、this
この関数内にいるときに React コンポーネントに設定されていることを確認します。なので書き直し…
ReactDOM.render(<PriceCalculator />, reactHolder, function() {
const priceCalculator = this;
// do something with priceCalculator
});
まだ未定義です。どうしたの?
Webpack を使用して es6 React コードをコンパイルしています (babel を使用)。