Как вставить HTML из сообщения об ошибке в React DOM без использования таргетинга jQuery? - PullRequest
0 голосов
/ 08 мая 2019

Я пытаюсь заставить страницу не загружать страницу входа в систему, если имя пользователя занято / пароль слишком короткий или слишком длинный, а также отображать сообщение об ошибке с сервера, описывающее, что проблема с регистрацией является. Проблема в том, что у меня мало опыта в React, и я не могу понять, как передать это сообщение об ошибке в DOM без использования нацеливания на класс jQuery.

Опять же, я пробовал только jQuery, потому что это единственный способ узнать, как отправить сообщение об ошибке в DOM.

.then(res => res.json())
.then(response => {
  console.log(response);
  this.props.history.push("/login");
})
.catch(error => {
  event.preventDefault();
  {$('.username-password-error-message').html(${error.message})}
});

Это была моя лучшая попытка. Грязный, я знаю. Я пытался предотвратить дефолт, но у меня есть ощущение, что это не сработает, потому что моя команда выдвигает маршрут / login из истории props в операторе then. Я ожидаю, что страница не загрузит маршрут / login и отправит сообщение об ошибке, касающееся проблем с именем пользователя и паролем, в DOM под формой входа. Опять же, я знаю, что это крайне неправильно, просто не могу найти то, что мне нужно, через поиск в Google и поиск переполнения стека. Любая помощь будет высоко ценится для этого React Noob!

1 Ответ

0 голосов
/ 08 мая 2019

Поиск / получение вдохновения из 'react autocomplete' или 'react autosuggest' учебников.

Этот вид функциональности должен быть выполнен как 'async validation' - не в обработчике отправки.Не изобретайте велосипед, прочитайте некоторые документы , найдите примеры.

ИМХО «ручное» управление состоянием (с использованием setState) не стоит усилий (для большинства случаев такого использования).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...