Итак, я делаю приложение Spring Boot с React front. На главной странице есть форма входа в систему, представленная как постоянная. В этой константе у меня есть handleSubmit, который отправляет запрос на сервер и успешно получает данные ответа, как html (я могу только console.log это).
Мой вопрос: как мне передать этот ответ из моей формы (const) на главную страницу, для рендеринга?
Вот форма входа:
import React, { Component } from "react";
import { Formiz, useForm } from "@formiz/core";
import { isEmail } from "@formiz/validations"; // Import some validations
import { MyField } from "./myField";
import axios from "axios";
import { Link, Redirect } from "react-router-dom";
export const MyForm2 = () => {
const myForm = useForm();
let resp = "null";
const handleSubmit = (values, event) => {
console.log(values.email + ", " + values.password);
axios({
method: "post",
url: "/",
data: {
j_username: values.email,
j_password: values.password
}
})
.then(function(response) {
if (response.status === 200) {
console.log("login success");
resp = response.data;
console.log(resp);
} else {
console.log("login response: " + JSON.stringify(response));
}
})
.catch(function(error) {
console.log(error);
});
};
//console.log("resp: "+JSON.stringify(resp)); //--ALWAYS "null"
return (
<Formiz connect={myForm} onValidSubmit={handleSubmit}>
<form noValidate onSubmit={myForm.submit}>
<MyField
name="email"
label="E-mail: "
validations={[
{
rule: isEmail(),
message: "This is not a valid email"
}
]}
/>
<MyField name="password" label="Password: " type="password" />
<button type="submit" disabled={!myForm.isValid}>
Submit
</button>
</form>
</Formiz>
);
};