Добрый день, делаю запрос через axios и хочу сохранить данные в store redux.
export const loadAuthDate = async() => {
let token = localStorage.getItem("auth-token")
if(token === null) {
token = ""
}
const tokenResponse = await axios.post('/api/user/tokenIsValid', null, {headers: {"x-auth-token": token} })
if(tokenResponse.data){
const userRes = await axios.get('/api/user/getUser ', {headers: {"x-auth-token": token, "id": tokenResponse.data.data._id},})
console.log(userRes)
return {
type: LOAD_AUTH_DATE,
token: token,
user: userRes.data
}
}
}
Сам код на nodejs
const tokenIsValid = async(req,res) => {
try {
const token = req.header("x-auth-token");
if(!token){
return res.json(false)
}
const verified = jwt.verify(token, jwtSecret)
if(!verified){
return res.json(false)
}
const user = await User.findById(verified.id)
if(!user){
return res.json(false)
}
return res.status(200).json({data: user,})
}
catch (e) {
return res.status(500).json({error: e.message})
}
}
Вопрос, почему
console.log(userRes) выводит у меня 2 раза , и если смотрю через network обращения к серверу действительно идет 2 раза. Это создает некоторые баги. Думал про useEffect но это не правильно использовать в redux