自定义Uppy插件

时间:2018-02-07 21:47:39

标签: javascript reactjs plugins

我正在尝试制作自定义Uppy React插件,但我收到以下错误

' TypeError:无法将类作为函数调用'

import Plugin from 'uppy/src/core/Plugin';

export default class DropZone extends Plugin {
}

然后我按照以下方式使用该组件:

import React from 'react';
import Uppy from 'uppy/lib/core/Core';
import DropZone from '../DropZone';

const uppy = new Uppy({ debug: true });
uppy.run();

export default class FileManager extends React.Component {
  render() {
    return (<DropZone uppy={uppy} />);
  }
}

为简单起见,我已经删除了代码。我查看了uppy DragDrop插件的实现并遵循其实现,但仍然得到相同的错误。

有没有人有为Uppy编写react插件的经验?因为我失去了如何解决这个错误。

由于

2 个答案:

答案 0 :(得分:0)

我已经使用以下导入语句成功创建了插件:

import { Uppy, Plugin, PluginOptions, UppyFile } from "@uppy/core";

不清楚您是使用npm软件包还是手动下载,但就我而言,我使用以下方法安装了Uppy:

npm i @uppy/core

答案 1 :(得分:0)

首先,在“ DropZone”插件中,您至少需要实现install()和uninstall()方法(uppy调用这些方法)。

第二,如果您想告诉uppy使用您的插件,则需要执行以下操作: const uppy = new Uppy({ debug: true }) .use(DropZone) .run();

我只是建议looking at the source code for other plugins来了解它们的工作原理,其中有各种插件-文件管理提供程序,在仪表板中显示的GUI插件等...

希望这会有所帮助