我遇到了draftjs问题。
编辑器将返回我认为是编辑器状态的旧版本。
当我在渲染过程中跟踪状态时,按下按钮后,编辑器状态包含加粗标记-但是,在输入编辑器组件后,返回的状态对象不包含这些标记。
我很茫然,我试图从仓库中的示例中完美地复制代码。
public render(): JSX.Element {
const { main, identifier } = this.props;
const section = getSection(main, identifier);
const editorState = section.config.editorState; // from redux store
return (
<>
<button
onClick={() => {
const s = RichUtils.toggleInlineStyle(editorState, 'BOLD');
this.updateSectionEditorState(s);
}}
>
GO BOLD
</button>
<Editor
editorState={editorState}
onChange={this.updateSectionEditorState}
/>
</>
);
}
updateSectionEditorState = (e: EditorState) => {
const { main, updateSection, identifier } = this.props;
const section = getSection(main, identifier);
const newSection: DropComponent = {
...section,
config: {
...section.config,
editorState: e,
},
};
updateSection(newSection); // dispatchs action to update state
};