Когда пользователь обновляет свой профиль в компоненте editProfile, данные обновляются на сервере, и пользователь перенаправляется в компонент userProfile.Теперь в userProfile пользовательские данные выбираются с сервера.Здесь я получаю старые данные.Но если я обновлю страницу, я получу обновленные данные.
// api
router.post('/:uid/edit', (req, res) => {
const updatedUser = {
name : req.body.name,
avatar : req.body.avatar,
bio : req.body.bio
};
console.log('updateduser',updatedUser);
User.findOneAndUpdate({uid: req.params.uid}, {$set: updatedUser},
{"new":true})
.then(user => {
res.json(user);
console.log(user);
})
.catch(err => {
console.log('er',err);
});
});
// action
export const usersFetchData = (url) => {
return (dispatch) => {
dispatch(userIsLoading(true));
axios
.get(url)
.then(res => {
if(!res){
throw Error(res.statusText)
}
dispatch(userIsLoading(false));
console.log(res.data); //getting old data
return res.data;
})
.then(users => {
console.log('users',users);
dispatch(usersFetchDataSuccess(users))
})
.catch(() => dispatch(userHasErrored(true)));
}
}