У меня есть приложение ReactJs (разработчик на основе fabricJS), которое я собираю и вставляю в общую папку нашего веб-сайта. Когда пользователь нажимает «настроить», наше приложение запускается в модальном режиме, а затем пользователь создает дизайн (используя fabricJS). Когда они закончили, они либо нажимают Сохранить, либо отменяют, и модальное закрывается.
Проблема в том, что когда пользователь снова входит в наш конструктор без обновления страницы, мое расширение Chrome реагирует на то, что первый запущенный конструктор все еще находится вactDOM. Каждый раз, когда пользователь делает это, другое приложение реагирования показывается на последнем.
Это проблематично, потому что мы используем redux-undo, и каждый раз, когда пользователь вносит изменения в холст, действие дублируется, однако много раз хранили дублирование.
Удивительно, но это единственный недостаток дублирующего магазина или приложения, дублирующегося
Пока что я попробовал:
- убедитесь, что мы правильно используем ReactDOM.unmountComponentAtNode () после выхода из модального режима
- удаление элемента html, в котором находится приложение React
- установка состояния приложения activJs на undefined в нашем корневом редукторе при выходе из
Из того, что я прочитал, я должен сбросить состояние и удалить компонент из домена, чтобы полностью сбросить наше приложение, как будто оно вводится впервые.
Это моя реагирующая хромированная панель.
https://imgur.com/A3N3PhT
(Ненавижу, что не могу публиковать фотографии ... они полезны. Вот ссылка на изображение)
В моем HTML показан только один дизайнер, запущенный в нашем модале.
По сути, я просто хотел бы закрыть приложение и снова войти в него, как будто оно никогда не открывалось. Все функции и обработчики событий запускаются дважды, что приводит к записи нежелательной истории с помощью redux-undo.
Если бы кто-нибудь мог указать мне правильное направление, я был бы очень благодарен. Я не уверен, что еще я могу сделать, чтобы мое приложение реакции действительно вышло.