DraftJS编辑器返回不正确的状态-但可以使用RichUtils更改状态

时间:2018-07-29 21:10:50

标签: reactjs typescript draftjs

我遇到了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
};

0 个答案:

没有答案