反应:更新状态而不更改

时间:2020-04-24 15:38:27

标签: reactjs

在我的应用中,当用户想要更改其个人资料图片时,我希望在使用该用户图片的所有组件上更新新的个人资料图片。

问题在于,当个人资料图片更新时,在后端,图片的名称/网址保持不变。例如,用户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批处理了连续的状态更改。

有没有办法做到这一点?还是我必须重组我们存储图像的方式,也许要包含哈希?

0 个答案:

没有答案