我在 Webstorm 中创建了一个新的 React 项目。我已经安装了draft-js
和draft-js-plugins-editor
,以及插件draft-js-hashtag-plugin
和draft-js-mathjax-plugin
(使用节点)。
我在他们的 Github 上关注了他们的“入门” ,但是这个例子对我不起作用。我一写
import Editor from 'draft-js-plugins-editor';
我收到一个TypeError: Cannot read property 'object' of undefined
错误。
./node_modules/draft-js-plugins-editor/lib/Editor/index.js
node_modules/draft-js-plugins-editor/lib/Editor/index.js:177
174 | }(_react.Component);
175 |
176 | PluginEditor.propTypes = {
> 177 | editorState: _react2.default.PropTypes.object.isRequired,
178 | onChange: _react2.default.PropTypes.func.isRequired,
179 | plugins: _react2.default.PropTypes.array,
180 | defaultKeyBindings: _react2.default.PropTypes.bool,
我的最小示例代码:
import React, { Component } from 'react';
import Editor from 'draft-js-plugins-editor'; // Error upon doing this
import createHashtagPlugin from 'draft-js-hashtag-plugin';
import { EditorState } from 'draft-js';
const hashtagPlugin = createHashtagPlugin();
const plugins = [
hashtagPlugin,
];
export default class MyEditor extends Component {
state = {
editorState: EditorState.createEmpty(),
};
onChange = (editorState) => {
this.setState({
editorState,
});
};
render() {
return (
<Editor
editorState={this.state.editorState}
onChange={this.onChange}
plugins={plugins}
/>
);
}
}
出现此错误是因为您使用了 React.js 的最新(第 16 个)版本。在这篇博文(React.js 16 版公告)中,您可以阅读:
15.x 中引入的弃用已从核心包中删除。React.createClass 现在可用作 create-react-class,React.PropTypes 可用作 prop-types...
React.PropTypes
如果你在 React 16 中使用这些旧包,所有仍然访问的旧包都将被破坏。
如果你想使用draft-js-plugins-editor
你必须将你的反应版本降级到版本 15。例如,npm
使用这个命令
npm install [email protected] --save
或者这对于yarn
:
yarn add [email protected]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句