使用React / Babel6引用js ArrayBuffer的最佳方法是什么?

时间:2016-09-19 05:42:44

标签: javascript reactjs web-worker arraybuffer babel-6

我正在尝试使用反应组件更新画布,并在工作线程中完成处理。我在EMCA5中使用了所有硬件,但移植到React / Babel / JSX,我最大的挂断是系统不再识别ArrayBuffer将数据传递给工作线程。以下代码以'TypeError:ArrayBuffer不是构造函数'而死:

var ArrayBuffer = require('core-js/modules/es6.typed.array-buffer');
import ArrayBuffer from 'core-js/modules/es6.typed.array-buffer';
import { ArrayBuffer } from 'core-js/modules/es6.typed.array-buffer';
import { ArrayBuffer } from 'babel-polyfill';

经过对babel-polyfill和core-js的一系列研究后,我能想到的所有变化都以同样的方式存在:

    var buffer = new global.ArrayBuffer(100 * 100 * 4);
    var view = new global.Uint32Array(buffer);

我发现到目前为止唯一可行的方法是忘记任何导入/需求,只需访问ArrayBuffer就可以了:

import React from 'react';
import 'babel-polyfill';
// import Calculater etc...

export default class CalculationDisplay extends React.Component {
    componentDidMount() {
        var buffer = new ArrayBuffer(100 * 100 * 4);
        var view = new Uint32Array(buffer);
. . . 

..这实际上有效并且显示在页面上显示,但它看起来很难看,我无法想象这是引用ArrayBuffer的预期方式。有没有人成功导入js ArrayBuffer和相关类,以便可以按预期访问它们?

..确定以下zerkms建议我更新为:

{{1}}

..它的工作没有错误 - 我想我以前尝试从babel-polyfill导入类名时太过花哨了。

0 个答案:

没有答案