reactjsautodesk-viewer

Autodesk viewer error TypeError: Cannot read properties of null (reading 'updateMaterials')


I'm trying to open model in Viewer and Viewer is not completely close after re-render. I don't understand why. Viewer starts in didMount() and finish in willUnmount(), but error occurs.

  componentDidMount() {
    initializeViewerRuntime(this.props.runtime || {})
      .then(_ => {
        console.log('VIEWER HAS STARTED');
        this.viewer = new Autodesk.Viewing.GuiViewer3D(this.container);
        **this.viewer.start();**
        this.viewer.addEventListener(Autodesk.Viewing.CAMERA_CHANGE_EVENT, this.onViewerCameraChange);
        this.viewer.addEventListener(Autodesk.Viewing.SELECTION_CHANGED_EVENT, this.onViewerSelectionChange);
        this.updateViewerState({});
        console.log('THIS VIEWER', this.viewer);
      })
      .catch(err => console.error(err));
  }

  componentWillUnmount() {
    if (this.viewer) {
      console.log('VIEWER HAS STOPPED');
      this.viewer.removeEventListener(Autodesk.Viewing.CAMERA_CHANGE_EVENT, this.onViewerCameraChange);
      this.viewer.removeEventListener(Autodesk.Viewing.SELECTION_CHANGED_EVENT, this.onViewerSelectionChange);
      this.viewer.finish();
      this.viewer = null;
    }
  }

i took this sample for React component here https://github.com/autodesk-platform-services/viewer-react-sample/blob/master/src/components/Viewer.jsx

I tried to add .imlp.unloadCurrentModel(), but it didn't help


Solution

  • Try to update the viewer documents as below viewer3D: "https://developer.api.autodesk.com/modelderivative/v2/viewers/viewer3D.min.js?v=v7.104", style: "https://developer.api.autodesk.com/modelderivative/v2/viewers/style.min.css?v=v7.104",

    In my case, it was solved after updating the latest version.