Я смотрю на использование draft.js , и мне интересно, как я могу иметь редактор, и в то время как кто-то печатает результаты будут отображаться в виде HTML, но с фактической разметкой (т. е. если я выделю жирным шрифтом, вывод будет выделен жирным шрифтом).
У меня возникли проблемы при получении этой работы.Я попытался dangerouslySetInnerHTML
, но это не сработало.
<div dangerouslySetInnerHTML={{ __html: this.state.editorContentHtml }}></div>
import React from "react";
import { Editor, EditorState } from "draft-js";
import { stateToHTML } from "draft-js-export-html";
class ExampleEditor1 extends React.Component {
constructor(props) {
super(props);
this.state = { editorState: EditorState.createEmpty() };
this.onChange = editorState => {
this.setState({
editorState,
editorContentHtml: stateToHTML(editorState.getCurrentContent())
});
};
}
render() {
return (
<div>
<div className="editor-container" style={{ border: "1px solid #000" }}>
<Editor
editorState={this.state.editorState}
onChange={this.onChange}
/>
</div>
<h4>Editor content as HTML</h4>
<div>{this.state.editorContentHtml}</div>
</div>
);
}
}
export default ExampleEditor1;