login является undefind. Роут не видит логин
Прошу помочь, организовал такой запрос в базу, передал в клиентскую функцию аргумент, которая передаст его дальше на сервер, но auth.router.js не может поймать login. Ломаю голову уже второй час.
P.S Разворачиваю массив с объектами в компоненте через map, и только тогда он выводит ошибку: Uncaught TypeError: Cannot read properties of undefined (reading 'map')
Буду благодарен за ответ
HistoryPage.jsx:
const login = useSelector((state) => state.user.currentUser.login);
useEffect(() => {
dispatch(getEarned(login))
}, [])
user.js:
export const getEarned = (login) => {
return async dispatch => {
try {
const response = await axios.post('http://localhost:5000/api/auth/history',
login
)
dispatch(calcEarn(response.data.orders))
} catch (e) {
console.log(e)
}
}
}
auth.router.js:
router.post('/history', async (req,res) => {
try {
const {login} = req.body
var date = new Date()
var dateOrder = `${date.getDate()}.${date.getMonth()+1}.${date.getFullYear()}`
const finishOrders = await Order.find({dateOrder, complete: "finish", whoTake: login})
res.json({finishOrders})
} catch (e) {
console.log(e)
}
})
Ответы (1 шт):
Автор решения: RAMP
→ Ссылка
Проблема оказалась в том, что я забыл засунуть login в объект при получении.
export const getEarned = (login) => {
return async dispatch => {
try {
const response = await axios.post('http://localhost:5000/api/auth/history', {
login
})
dispatch(calcEarn(response.data.orders))
} catch (e) {
console.log(e)
}
}
}
Должно получиться вот так. Сергею спасибо, в дальнейшем буду указывать больше информации