Redux не регистрирует действия после document.open () - PullRequest
0 голосов
/ 04 февраля 2019

У меня есть три саги, слушающие одно и то же действие, и поэтому они происходят более или менее одновременно.Один из них переписывает страницу, используя:

document.open();
document.write(content);

После этого инструменты разработчика Redux перестают регистрировать новые действия (будь то из нашего приложения, консоли или из предоставленных инструментов разработчика), и мы не можемувидеть последующие действия, даже если мы знаем, что они произошли, потому что мы можем вызвать наш код, который слушает действие (поэтому оно должно быть отправлено, хотя мы его не видим).Мы видим ожидаемый результат нашего кода на странице.

Я думал, что проблема может быть связана только с инструментами Redux dev, но у нас есть специальное промежуточное ПО, которое собирает все события, проходящие через хранилище, для аналитических целей - иожидаемое действие также отсутствует в отслеживаемых событиях.

Версии, которые я использую: "redux": "^ 3.7.2", "redux-saga": "0.16.0", "redux-devtools-экстензия ":" 2.13.2 ",

1 Ответ

0 голосов
/ 04 февраля 2019

document.open () позволяет перезаписать текущий документ или добавить его. Он открывает поток документов для записи. Если документ существует в целевом объекте, он очищает его
Кроме того, автоматический вызов document.open() происходит при вызове document.write() после загрузки страницы.Вы не должны использовать document.write.
Решение
Если вы хотите добавить что-то к <body>, используйте document.body.appendChild()

...