Я использую act-draft-wysiwyg в проекте, и у меня «большая» проблема.
После нескольких часов попыток я не могу отрендерить содержимое моей базы данных.
Сначала я попытался сохранить в MongoDB «обзор» (contentState) со следующим кодом:
<Editor initialContentState={person.overview} toolbarClassName="rdw-storybook-toolbar" wrapperClassName="rdw-storybook-wrapper" editorClassName="editor" onContentStateChange={this.onContentStateChange} toolbar={{ options: ['inline', 'blockType', 'fontSize', 'fontFamily', 'list', 'textAlign', 'colorPicker', 'link', 'embedded', 'emoji', 'remove', 'history'], }}
Конструктор My Component:
this.state = {person: {isEdit: false,}};
Как видите, я не устанавливаю в конструкторе персонажа: {Overview: {}}, потому что, если я это делаю, я получаю следующую ошибку:
неверный RawDraftContentState ▶ 24 кадра стека свернуты.
./src/index.js src / index.js: 19 16 | ); 17 | 18 | 19 | ReactDOM.render (
20 | 21 | 22 |
Так что я просто не установил обзор: {} в конструкторе и процесс сохранения работает правильно.
После этого я пытаюсь отобразить сохраненный контент в компоненте, чтобы иметь возможность вносить изменения и обновлять. Было бы здорово, если бы я мог использовать один и тот же компонент для редактирования и сохранения, чтобы сделать его многоразовым, но это не обязательно.
Дело в том, что хотя я установил this.setState ({person: Overview: contentFromDatabase}) (проверено, оно занято), компонент показывает пустой, ничего. Вы можете писать с нуля, но он не загружает контент.
Я должен сказать, что прямо сейчас, спустя часы и часы, я немного запутался с вещами editorState и contentState, но я думаю, что содержимое моей БД является RawDraftContent, верно?
Вот документ моей БД:
"_id" : ObjectId("5b3d2897589a5e2fa4ba60ea"), "overview" : { "blocks" : [ { "key" : "ekrl0", "text" : "this is the CONTENT", "type" : "unstyled", "depth" : 0, "inlineStyleRanges" : [ { "offset" : 14, "length" : 2, "style" : "BOLD" } ], "entityRanges" : [ ] } ] }, "createdAt" : ISODate("2018-07-04T20:05:43.129Z"), "__v" : 0 }
Любая помощь будет принята с благодарностью.