Я реализовал редактор форматированного текста для React с поддержкой draftJs.
Я отправляю данные editorState на сервер после преобразования в необработанные данные и преобразования их в строку. Это хорошо работает для рендеринга в интерфейсе пользователя.
Теперь я хочу взять эти данные и обновить ими editorState. Итак, пользователь может редактировать текст с доступными данными.
Я не знаю, почему это не работает. Помогите, пожалуйста. Я не понимаю, что мне делать.
Мой код: импорт зависимостей
import { Editor } from "react-draft-wysiwyg";
import { EditorState, ContentState, convertFromRaw, convertToRaw } from "draft-js";
import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css";
Начальное состояние:
const [editorState, setEditorState] = useState(() =>
EditorState.createEmpty()
);
Пытаюсь отредактировать:
setEvent(current);
const data = JSON.parse(current.description);
// EditorState.createWithContent(convertFromRaw(data));
setEditorState(EditorState.createWithContent(ContentState.createFromText('Hello world')));
// EditorState.createWithContent(convertFromRaw(JSON.parse(current.description)));
// convertToRaw(JSON.parse(editorState.getCurrentContent()));
// const state = current.description;
// As per draft.js docs, I didn't understand the syntax
// convertFromRaw(rawState: state): ContentState
// EditorState.createWithContent(JSON.parse(current.description));
// setEditorState(JSON.parse(current.description));
Все это пробовал. Но ничто не обновляет editorState
до current.description
. Примечание. current.description
- это строка JSON, содержащая необработанные данные объекта.
Ресурсы: createwithcontent