当用户在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);
});
});
/行动
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)));
}
}