@activepipe/draft-js 中文文档教程
Draft.js
Draft.js 是一个 JavaScript 富文本编辑器框架,专为 React 和 由不可变模型支持。
- Extensible and Customizable: We provide the building blocks to enable the creation of a broad variety of rich text composition experiences, from simple text styles to embedded media.
- Declarative Rich Text: Draft.js fits seamlessly into React applications, abstracting away the details of rendering, selection, and input behavior with a familiar declarative API.
- Immutable Editor State: The Draft.js model is built with immutable-js, offering an API with functional state updates and aggressively leveraging data persistence for scalable memory usage.
API Notice
在开始之前,请注意我们最近更改了 Draft 中的实体存储。 最新版本 v0.10.0
支持旧版本 和新的 API。 接下来是 v0.11.0
,它将删除旧的 API。 如果您有兴趣提供帮助或跟踪进度,请关注 问题 839。
Getting Started
目前 Draft.js 是通过 npm 分发的。 它取决于还必须安装的 React 和 React DOM。
npm install --save draft-js react react-dom
or
yarn add draft-js react react-dom
Using Draft.js
import React from 'react';
import ReactDOM from 'react-dom';
import {Editor, EditorState} from 'draft-js';
class MyEditor extends React.Component {
constructor(props) {
super(props);
this.state = {editorState: EditorState.createEmpty()};
this.onChange = (editorState) => this.setState({editorState});
}
render() {
return (
<Editor editorState={this.state.editorState} onChange={this.onChange} />
);
}
}
ReactDOM.render(
<MyEditor />,
document.getElementById('container')
);
因为 Draft.js 支持 unicode,所以您必须在
块中包含以下元标记
<meta charset="utf-8" />
。下面提供了可以使用的.js。
Examples
访问 http://draftjs.org/ 来试用一个简单的富编辑器示例。
存储库包括各种不同的编辑器示例来演示 该框架提供的一些功能。
要运行示例,首先在本地构建 Draft.js:
git clone https://github.com/facebook/draft-js.git
cd draft-js
npm install
npm run build
然后在浏览器中打开示例 HTML 文件。
Draft.js 在 Facebook 的生产中使用,包括状态和 评论输入、注释,以及 messenger.com。
Resources and Ecosystem
查看这个精选的文章和开源项目/实用程序列表:Awesome Draft-JS。
Discussion and Support
加入我们的 Slack 团队!
Contribute
我们积极欢迎拉取请求。 学习如何 贡献。
License
Draft.js 是 BSD 许可。 我们还提供额外的专利授权。
此存储库和文档中提供的示例分别 领有牌照。
Draft.js
Draft.js is a JavaScript rich text editor framework, built for React and backed by an immutable model.
- Extensible and Customizable: We provide the building blocks to enable the creation of a broad variety of rich text composition experiences, from simple text styles to embedded media.
- Declarative Rich Text: Draft.js fits seamlessly into React applications, abstracting away the details of rendering, selection, and input behavior with a familiar declarative API.
- Immutable Editor State: The Draft.js model is built with immutable-js, offering an API with functional state updates and aggressively leveraging data persistence for scalable memory usage.
Learn how to use Draft.js in your own project.
API Notice
Before getting started, please be aware that we recently changed the API of Entity storage in Draft. The latest version, v0.10.0
, supports both the old and new API. Following that up will be v0.11.0
which will remove the old API. If you are interested in helping out, or tracking the progress, please follow issue 839.
Getting Started
Currently Draft.js is distributed via npm. It depends on React and React DOM which must also be installed.
npm install --save draft-js react react-dom
or
yarn add draft-js react react-dom
Using Draft.js
import React from 'react';
import ReactDOM from 'react-dom';
import {Editor, EditorState} from 'draft-js';
class MyEditor extends React.Component {
constructor(props) {
super(props);
this.state = {editorState: EditorState.createEmpty()};
this.onChange = (editorState) => this.setState({editorState});
}
render() {
return (
<Editor editorState={this.state.editorState} onChange={this.onChange} />
);
}
}
ReactDOM.render(
<MyEditor />,
document.getElementById('container')
);
Because Draft.js supports unicode, you must have the following meta tag in the <head>
</head>
block of your HTML file:
<meta charset="utf-8" />
Further examples of how Draft.js can be used are provided below.
Examples
Visit http://draftjs.org/ to try out a simple rich editor example.
The repository includes a variety of different editor examples to demonstrate some of the features offered by the framework.
To run the examples, first build Draft.js locally:
git clone https://github.com/facebook/draft-js.git
cd draft-js
npm install
npm run build
then open the example HTML files in your browser.
Draft.js is used in production on Facebook, including status and comment inputs, Notes, and messenger.com.
Resources and Ecosystem
Check out this curated list of articles and open-sourced projects/utilities: Awesome Draft-JS.
Discussion and Support
Join our Slack team!
Contribute
We actively welcome pull requests. Learn how to contribute.
License
Draft.js is BSD Licensed. We also provide an additional patent grant.
Examples provided in this repository and in the documentation are separately licensed.