【前端问题精选】TypeScript怎么使用draftjs?

图片描述

这个代码是draftjs官方给的示例,但是在tsx里面报错,报错消息如图。
不知怎么解决。
已经用了 npm install @type/draft-js --save
晕了,这个要怎么用呢?

回答:

import * as React from 'react'

import {Editor, EditorState} from 'draft-js'

console.log(React, Editor, EditorState)

ts编译后的文件node是可以直接运行的,如果要在浏览器上运行,因为浏览器本身是没有实现模块化加载的,要使用 webpack 进行打包(rollup、browserify也是可以的)。

回答:

@hyy1115@fzred 无论两位谁说的对,都十分感谢。

@fzred

`import * as React from 'react';

import * as ReactDOM from 'react-dom';

import { Editor, EditorState } from "draft-js";

class MyEditor extends React.Component<any, any> {

constructor(props) {

super(props);

this.state = { editorState: EditorState.createEmpty() };

}

handleChange(e) {

this.setState({ editorState: e });

}

render() {

return (

<Editor editorState={this.state.editorState} onChange={e => this.handleChange(e)} />

);

}

}

ReactDOM.render(

<MyEditor />,

document.getElementById('editor')

);`

这是tsx文件。

<link href="~/css/draft.css" rel="stylesheet" />

<div id="editor"></div>

@section scripts{

<script src="~/lib/immutable.min.js"></script>

<script src="~/lib/draft.min.js"></script>

<script src="~/lib/require.js"></script>

<script src="~/js/editor.js"></script>

}

这是html文件,报错了。

Uncaught Error: Module name "react" has not been loaded yet for context: _. Use require([])(…)

另外,我用typescript的时候,像React ReactDOM Axios 这些库,npm运行 install @types/react react-dom axios 就能在tsx文件直接用,不用再import什么了,为什么draft不行啊。

以上是 【前端问题精选】TypeScript怎么使用draftjs? 的全部内容, 来源链接: utcz.com/a/132948.html

回到顶部