2

我正在尝试在我的项目中实现 Facebook 提供的“RichEditor”示例代码如下:

import React from 'react;
import { Component } from 'react';
import { Editor, EditorState, RichUtils } from 'draft-js';
import { Map } from 'immutable';

'use strict';

const { Editor, EditorState, RichUtils } = Draft;

//rest of the code...

每当我尝试使用 构建webpack-dev-server时,都会收到以下错误。我检查了 StackOverflow 以查看其他用户是否遇到了确切的错误。但是,一个也找不到。

Module Build Failed: Duplicate Declaration "Editor"

'use strict';
> const { Editor, EditorState, RichUtils } = Draft;

export class ...{}

我哪里错了?

注意:我是 ReactJS 的新手。

4

2 回答 2

5

您正在导入Editor顶部,然后在解构时再次定义它Draft

您要么需要像这样Editor的导入别名draft-js

import { Editor as DEditor, EditorState, RichUtils } from 'draft-js';

从这里您将使用Deditor而不是Editor. 然后你可以自由地命名Editor下面的 const ......

或者,只是不要解构Draft下面的对象。

而不是const { Editor, EditorState, RichUtils } = Draft;, 访问Draft带有点语法的属性。即Draft.EditorDraft.EditorState等...

于 2017-01-24T05:50:06.813 回答
0

如果您在导入中的其他位置导入与组件同名的预定义默认导入,也会发生此重复声明错误。

例子:

import bla from 'react-bla';
://more imports
://more imports
import bla from '../Components/bla/bla';
于 2018-06-01T15:42:27.113 回答