Чтобы реализовать этот тип логики поведения, вам сначала нужно решить, где вы будете записывать состояние (в этом примере вам, вероятно, нужно поддерживать состояние успешного / неудачного входа в систему, а также вам нужно записывать состояние о входах (имя пользователя)и пароль)).Распространенными вариантами являются использование реагирующего контекста или реактивного редукса.
Есть некоторые компромиссы, по которым можно выбирать, и я очень рекомендую взглянуть на учебные пособия, потому что здесь очень много коротких ответов.Вы можете посмотреть, например, это сравнение
Ни один из этих двух вариантов не предусматривает реакцию-бутстрап, поэтому не беспокойтесь о поиске примеров, которые включают реакцию-бутстрап.React-bootstrap - это просто визуальный рендеринг ваших компонентов, и вы правильно использовали его для того, для чего он предназначен.Управление поведением это отдельный вопрос.
После того, как вы выбрали подход к управлению состоянием, вам нужно вызвать свой API из handleSubmit
(используйте функцию fetch JS) и обновить свое состояние:
handleSubmit(event) {
// get username and password from state (redux, react context or component state)
// ... code depends on which one you choose
// call the backend API, sending your user inputs
// and using a promise to get the async result
fetch('/', { method: 'POST', body: { username: username, passowrd: password } } )
.then((resp) => resp.json())
.then((json) => /* update state with the result */);
// your original code
event.preventDefault();
console.log(this.state);
event.target.className += " was-validated"
}
Я надеюсь, что это даст некоторые указатели, которые помогут вам использовать реагировать в полной мере.