Реализация useState для установки переменной в результате вызова Axios в useEffect [дубликат]Javascript

Форум по Javascript
Ответить
Anonymous
 Реализация useState для установки переменной в результате вызова Axios в useEffect [дубликат]

Сообщение Anonymous »

Я пытаюсь получить результат поиска из базы данных MySQL с помощью Axios. res.data заполняется правильными данными, но когда я использую свой установщик useState внутри useEffect, моя переменная searchRes не обновляется.

Код: Выделить всё

const [searchRes, setSearchRes] = useState({
FirstName: "",
LastName: "",
UserName: "",
Password: "",
GradYear: ""
});

Код: Выделить всё

useEffect (() => {
// console.log(`in uName useEffect with ${searchUsername}`);
axios.get(`http://127.0.0.1:5000/all-students/uName/${searchUsername}`)
.then(res => {
console.log(res.data); // logs correct data to console
// setSearchRes({
//     FirstName: res.data.FirstName,
//     LastName: res.data.LastName,
//     UserName: res.data.UserName,
//     Password: res.data.Password,
//     GradYear: res.data.GradYear
// });
setSearchRes(res.data); // Doesn't seem to set searchRes variable
console.log(searchRes); // logs empty object to console
})
.catch(err => console.error(err));
}, [searchUsername])
Этот useEffect настроен на запуск каждый раз при обновлении поля searchUsername.
Спасибо всем!

Подробнее здесь: https://stackoverflow.com/questions/798 ... in-useeffe
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»