UseEffect срабатывает и выполняются операторы печати, но ни один вызов axios.post не запускается reactjs
У меня есть функция useEffect, которая срабатывает из-за изменения yearsBackSettings
, и утверждения console.log внутри useEffect тоже срабатывают:
useEffect(() => {
console.log("something changed")
console.log(yearsBackSettings)
if (userId) {
const user_profile_api_url = BASE_URL + '/users/' + userId
const request_data = {
searches: recentSearches,
display_settings: displaySettings,
years_back_settings: yearsBackSettings
}
console.log("running user POST")
console.log(request_data)
axios.post(user_profile_api_url, request_data)
.then(response => {
console.log("user POST response")
console.log(response)
})
}
}, [recentSearches, displaySettings, yearsBackSettings])
Как показано на изображении, изменение yearsBackSettings приводит к запуску этой функции, которая ДОЛЖНА сделать запрос на пост со всеми новыми настройками:
Однако по какой-то причине на сервере ничего не происходит, кроме запуска поиска акций:
the last updated time for stock ibm before save: 08/25/2022 08:13:30
stock was updated within the last 5 minutes...no need to make an api call
the last updated time for stock ibm after save: 08/25/2022 08:13:30
[25/Aug/2022 08:17:25] "POST /users/114260670592402026255 HTTP/1.1" 200 9
[25/Aug/2022 08:17:25] "GET /dividends/ibm/3/5 HTTP/1.1" 200 4055
the last updated time for stock ibm before save: 08/25/2022 08:13:30
stock was updated within the last 5 minutes...no need to make an api call
the last updated time for stock ibm after save: 08/25/2022 08:13:30
[25/Aug/2022 08:17:26] "GET /dividends/ibm/27/5 HTTP/1.1" 200 8271
the last updated time for stock ibm before save: 08/25/2022 08:13:30
stock was updated within the last 5 minutes...no need to make an api call
the last updated time for stock ibm after save: 08/25/2022 08:13:30
[25/Aug/2022 08:18:11] "GET /dividends/ibm/27/70 HTTP/1.1" 200 14734
Сообщение для пользователей там было первоначальным, когда пользователи загружались. Если я вхожу и выхожу из системы, то теряю 70 лет во втором компоненте:
Когда я выхожу из системы и вхожу, он показывает 27 лет и 5 лет, я потерял 70, потому что /users POST не был запущен
У меня есть следующий основной компонент React
Настройки yearsBackSettings отображаются измененными на 27 и 70 (с картинки), но POST запрос не срабатывает. Как я могу заставить эти настройки сохраняться при изменении параметров?
Проблема где-то в вашем коде сервера python, в вашей консоли вы можете видеть, что вы действительно регистрируете объект ответа с кодом ответа 200, что означает, что ваш сервер не падает во время фактического запроса.
Возможно, проблема в протоколировании на стороне сервера, из-за которой запрос не отображается, я бы сначала проверил это.