我最近在尝试Stage
使用 React-Konva 渲染时遇到以下错误:Cannot read property 'getPooled' of null at Object.componentDidMount
。到目前为止,我无法使用 Konva 渲染任何东西。我正在使用带有 typescript 和 webpack 的 react-konva。以下是我的简化代码:
.jsx:
import * as React from "react";
import * as ReactDOM from 'react-dom';
import { Layer, Stage, Rect, Group } from 'react-konva';
class Demo extends React.Component {
public render(): JSX.Element {
return (
<div style={{flex: 5}}>
<Stage width={320} height={320} style={{width: '100%', height: '100%'}}>
<Layer>
<Rect
height={32}
width={32}
x={0}
y={0}
fill={'#bb66bb'}
/>
</Layer>
</Stage>
</div>
);
}
}
我已经在react-konva 源代码中将问题追踪到了这一行,
我(我相信)追踪到了以下代码(它是 的一部分)。
var transaction = ReactUpdates.ReactReconcileTransaction.getPooled();
ReactUpdates
react-dom
var ReactUpdates = {
/**
* React references `ReactReconcileTransaction` using this property in order
* to allow dependency injection.
*
* @internal
*/
ReactReconcileTransaction: null,
...ommitted code here for brevity
};
module.exports = ReactUpdates;
显然,引用的属性设置为null
......我只是不明白为什么react-konva
要引用这个属性,或者我只是误读了正在发生的事情。有任何想法吗?(另外,我正在使用v. 1.1.4 of react-konva
and v. 15.5.4 of react-dom
)