response-draft-wysiwyg - Предупреждение: невозможно вызвать setState

Я сделал простое приложение для реагирования с помощью response-draft-wysiwyg, но получаю предупреждение.

import React from "react";
import ReactDOM from "react-dom";
import { Editor } from "react-draft-wysiwyg";
import "../node_modules/react-draft-wysiwyg/dist/react-draft-wysiwyg.css";

ReactDOM.render(
  <React.StrictMode>
    <Editor />
  </React.StrictMode>,
  document.getElementById("root")
);

Когда я нажимаю на редактор, я получаю эту ошибку в консоли, но только когда я запускаю ее в StrictMode:

Предупреждение: невозможно вызвать setState для компонента, который еще не смонтирован. Это запретная операция, но она может указывать на ошибку в вашем приложении. Вместо этого назначьте this.state напрямую или определите свойство класса state = {}; с желаемым состоянием в компоненте r.

Я сделал для вас codeSandbox: https://codesandbox.io/s/strange-monad-lxtuu?file=/src/index.js:0-295 Попробуйте щелкнуть по редактору и посмотреть предупреждения в консоли. Что я сделал не так?


person Alexander Juhl    schedule 06.04.2020    source источник
comment
Просматривая документы, вам нужно больше зависимостей, чтобы использовать его jpuri.github.io / response-draft-wysiwyg / # / demo   -  person jean182    schedule 07.04.2020
comment
Спасибо за Ваш ответ. Какие зависимости? Попробуйте взглянуть на пример №7 (редактор i18n - корейский язык). У него нет больше зависимостей?   -  person Alexander Juhl    schedule 07.04.2020
comment
Даже если я использую базовый пример из github. com / jpuri / response-draft-wysiwyg / blob / master / stories / Basic / Я получаю такое же предупреждение, если запускаю его в React.StrictMode.   -  person Alexander Juhl    schedule 07.04.2020
comment
было найдено решение @AlexanderJuhl   -  person Rafayet Monon    schedule 22.07.2020
comment
Нет, извините, решения нет.   -  person Alexander Juhl    schedule 07.09.2020


Ответы (1)


У пакета есть проблема со StrictMode. Просто удалите StrictMode:

import React from "react";
import ReactDOM from "react-dom";
import { Editor } from "react-draft-wysiwyg";
import "../node_modules/react-draft-wysiwyg/dist/react-draft-wysiwyg.css";

ReactDOM.render(
  <Editor />,
  document.getElementById("root")
);
person Thanh Vũ    schedule 04.11.2020
comment
Никакой строгий режим не вариант. Я думаю, что пакет сломан. - person Alexander Juhl; 14.11.2020
comment
Я согласен с @AlexanderJuhl, не используйте этот пакет, пока он не будет обновлен, я использую его прямо сейчас, поэтому я могу пойти и посмотреть. - person Danys Chalifour; 11.03.2021
comment
Посмотрите на гитхабе. в пакете есть исправление, но оно еще не слито. - person Danys Chalifour; 11.03.2021