在我的应用中,当用户想要更改其个人资料图片时,我希望在使用该用户图片的所有组件上更新新的个人资料图片。
问题在于,当个人资料图片更新时,在后端,图片的名称/网址保持不变。例如,用户A使用网址https://some_backend.com/project_id/profile_User_A.jpg获取个人资料图片。此链接永远不会更改其个人资料图片。
因此,当用户更新其图像时,工作流将转到:后端接收新图像->返回成功代码->组件需要从当前拥有的相同图像src中“重新获取”图像。
因此,我需要找出一种方法,使组件仅从状态存储的相同URL中“重新获取”图像。
我尝试过类似的事情:
const prevPhotoURL = authUser.db.photoURL
setAuthUser({...authUser, updating: true, db:{
...authUser.db,
photoURL: ''
}})
setAuthUser({...authUser, updating: false, db:{
...authUser.db,
photoURL: prevPhotoURL
}})
但是这不起作用,因为React批处理了连续的状态更改。
有没有办法做到这一点?还是我必须重组我们存储图像的方式,也许要包含哈希?