Hello all,
I am very new to vtk.js and trying to recreate one of the example in react.js. I am getting this error : TypeError: vtiReader.parseAsArrayBuffer is not a function
import 'vtk.js/Sources/Rendering/Profiles/Volume';
import 'vtk.js/Sources/IO/Core/DataAccessHelper/HttpDataAccessHelper';
import vtkFullScreenRenderWindow from 'vtk.js/Sources/Rendering/Misc/FullScreenRenderWindow';
import vtkVolume from 'vtk.js/Sources/Rendering/Core/Volume';
import vtkVolumeMapper from 'vtk.js/Sources/Rendering/Core/VolumeMapper';
import vtkVolumeController from 'vtk.js/Sources/Interaction/UI/VolumeController';
import vtkHttpDataSetReader from 'vtk.js/Sources/IO/Core/HttpDataSetReader';
const View = () => {
    const vtkContainerRef = useRef(null);
    const context = useRef(null);
    function makeRequest(method, url) {
        return new Promise(function (resolve, reject) {
          var xhr = new XMLHttpRequest();
          xhr.open(method, url);
          xhr.responseType = "blob";
          xhr.onload = function () {
            if (this.status >= 200 && this.status < 300) {
              resolve(xhr.response);
            } else {
              reject({
                status: this.status,
                statusText: xhr.statusText,
              });
            }
          };
          xhr.onerror = function () {
            reject({
              status: this.status,
              statusText: xhr.statusText,
            });
          };
          xhr.send();
        });
      }
   
    useEffect( () => {
        if (!context.current) {
            const fullScreenRenderer = vtkFullScreenRenderWindow.newInstance({
                rootContainer : vtkContainerRef.current
            });
            const createViewer = (res) => {
                const vtiReader = vtkHttpDataSetReader.newInstance();
                const renderer = fullScreenRenderer.getRenderer();
                const renderWindow = fullScreenRenderer.getRenderWindow();
                vtiReader.parseAsArrayBuffer(res);
                const source = vtiReader.getOutputData(0);
                const mapper = vtkVolumeMapper.newInstance();
                const actor = vtkVolume.newInstance();
                actor.setMapper(mapper);
                mapper.setInputData(source);
                renderer.addVolume(actor);
                const controllerWidget = vtkVolumeController.newInstance({
                    size : [400, 150], rescaleColorMap: true
                });
                controllerWidget.setContainer(vtkContainerRef);
                controllerWidget.setupContent(renderWindow, actor, true);
                fullScreenRenderer.setResizeCallback(({ width, height }) => {
                    // 2px padding + 2x1px boder + 5px edge = 14
                    if (width > 414) {
                      controllerWidget.setSize(400, 150);
                    } else {
                      controllerWidget.setSize(width - 14, 150);
                    }
                    controllerWidget.render();
                  });
         
                  renderer.resetCamera();
                  renderWindow.render();
                  global.pipeline = {
                    actor,
                    renderer,
                    renderWindow,
                    mapper,
                    source,
                    fullScreenRenderer,
                  };
         
                  context.current = {
                    fullScreenRenderer,
                    renderWindow,
                    renderer,
                    actor,
                    mapper,
                  };
            };
            makeRequest("GET","../head-binary.vti").then((res) => {
                const reader = new FileReader();
                reader.onload = function onLoad(e) {
                    createViewer(reader.result);
                };
                const file = new File([res], "head-binary.vti");
                const fileObj = { file, ext: "vti" };
                console.log(fileObj);
                reader.readAsArrayBuffer(fileObj.file);    
            })
        }
        return () => {
            if (context.current) {
              const { fullScreenRenderer, actor, mapper } = context.current;
              actor.delete();
              mapper.delete();
              fullScreenRenderer.delete();
              context.current = null;
            }
          };
    },[])
    return (
        <div ref={vtkContainerRef}>
            View
        </div>
    )
}
export default View;  ```
Please suggest  what am i doing wrong...