我有以下代码:
const priceCalculator = ReactDOM.render(<PriceCalculator />, reactHolder);
我需要priceCalculator
稍后在我的代码中使用,但 ESLint 抱怨我不应该使用ReactDOM.render()
. 那时我发现您可以将第三个参数传递给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)。