Проблема именно в том, что говорится в сообщении об ошибке: вы запускаете форму обновления состояния React непосредственно внутри метода render()
:
const Toasts = ({ appointments, resetState, toastedAppointment, toasts }) => {
if (toasts.type) {
switch (toasts.type) {
case "dataFetched":
resetState(); // Dispatching this action creates the warning.
В этом случае он отправляет действие Redux, но в конечном итоге это приводит к вызову React setState()
.
Не делайте этого :) Логика побочных эффектов, такая как запуск какого-то дополнительного обновления, основанного на текущем состоянии, вероятно, должна происходить примерно так componentDidUpdate
. Компонент Toasts
, вероятно, необходимо будет соответственно преобразовать из компонента функции в компонент класса.
Я не понимаю, почему, но здесь это. Кажется, что причина состоит в том, что моя сетевая плата настроена с 2 дюйм/с.
если в коде я указываю одного из дюйм/с (как, я сделал рассматриваемый выше),
listener.Prefixes.Add("http://myip1:8080/app/");
затем для предотвращения исключения я должен зарегистрировать его в ограниченном IP слабом подстановочном знаке
netsh http add urlacl url=http://myip1:8080/app user=domain\user
однако, если я добавляю префикс с сильным подстановочным знаком (знак "плюс")
listener.Prefixes.Add("http://+:8080/app/");
и регистр с тем же подстановочным знаком
netsh http add urlacl url=http://+:8080/app user=domain\user
затем нет никакой ошибки, и я могу получить доступ к своему приложению от обоих IP.
Тот URI уже регистрируется в системе?
В http://msdn.microsoft.com/en-us/library/system.net.httplistenerexception.aspx говорится, что это было бы одной причиной.