反应抛出一个错误,说setTimeout不是一个函数?

时间:2018-07-16 22:15:05

标签: javascript reactjs npm 3d xtk

我试图在反应中使用XTK库,并不断告诉我setTimeout函数不是函数。我的代码似乎很干净,如果我直接将其与html一起使用,它的功能也很好。但是我试图让它在React组件中工作,但是它只是失败了。谁能告诉我我做错了什么,或者我在哪里可以解决这个问题?

error message

该组件的代码:

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;
            }}
          />
        );
};

1 个答案:

答案 0 :(得分:0)

哦,npm软件包只是在窗口名称空间上添加X

更改:

import window from 'xtk'

收件人:

import 'xtk'

这会将X添加到现有window对象中,而不是像使用该import语句那样重新分配它。