【问题标题】:FabricJS Error in ReactJSReactJS 中的 FabricJS 错误
【发布时间】:2017-02-25 15:18:32
【问题描述】:

嘿,我有一个使用 FabricJS 的反应项目。 对于〜2-3周,我收到以下错误: "FabricCan.js:31 Uncaught TypeError: _fabric2.default.Canvas 不是构造函数"

但以下代码几周前运行良好。

import React from 'react';
import fabric from 'fabric';

...

render: function(){
   var can = new fabric.Canvas("test");

   return(
     <canvas id="test"> </canvas>
   );
}

【问题讨论】:

    标签: javascript reactjs constructor fabricjs


    【解决方案1】:

    您应该将创建织物画布的调用移出render 函数。该元素在页面上尚不存在。 Instead you should do it on the componentDidMount call like in this jsfiddle.

    【讨论】:

    • 嘿,谢谢你的回答,但我仍然得到错误。
    • 您应该在 sn-p 中发布代码来展示您的错误,否则我们将随机猜测解决方案。
    • 从'react'导入反应;从“面料”进口面料; var FabricCanvas = React.createClass({ componentDidMount: function(){ var can = new fabric.Canvas("test"); }, render: function(){ return ; } }); module.exports = FabricCanvas;
    • 似乎与我制作的这个 jsfiddle 中的内容相同:jsfiddle.net/STHayden/uaucbkqz
    【解决方案2】:

    我不知道为什么,但以下对我有用:

    1. npm uninstall fabric --save
    2. npm install react-webpack

    然后导入以下内容:

    “从'fabric-webpack'导入{fabric};

    【讨论】:

      【解决方案3】:

      我遇到了同样的问题。

      使用

      import 'fabric';
      

      而不是

      import fabric from 'fabric';
      

      它允许全局定义结构变量。

      或者你可以使用

      import { fabric } from 'fabric';
      

      【讨论】:

        猜你喜欢
        • 2018-06-26
        • 2020-08-19
        • 2015-06-22
        • 2016-01-29
        • 1970-01-01
        • 1970-01-01
        • 2013-10-13
        • 1970-01-01
        • 2019-08-19
        相关资源
        最近更新 更多