我试图在反应中使用XTK库,并不断告诉我setTimeout函数不是函数。我的代码似乎很干净,如果我直接将其与html一起使用,它的功能也很好。但是我试图让它在React组件中工作,但是它只是失败了。谁能告诉我我做错了什么,或者我在哪里可以解决这个问题?
该组件的代码:
import React from 'react';
import window from 'xtk';
// window.X is now available
export default class VtkGeometryRenderer extends React.Component {
constructor (){
super();
}
shouldComponentUpdate(){
return false;
}
componentDidMount(){
// create a new 3d renderer
var r = new window.X.renderer3D();
//r.container = 'r';
r.init();
// create a mesh from a .vtk file
var skull = new window.X.mesh();
skull.file = 'http://x.babymri.org/?avf.vtk';
// add the object
r.add(skull);
// .. and render it
r.render();
}
render() {
return (
<div
ref={(c) => {
this.rootContainer = c;
}}
/>
);
};
答案 0 :(得分:0)
哦,npm软件包只是在窗口名称空间上添加X
。
更改:
import window from 'xtk'
收件人:
import 'xtk'
这会将X
添加到现有window
对象中,而不是像使用该import语句那样重新分配它。