首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Redux -如何访问异步派生的非序列化对象?

Redux -如何访问异步派生的非序列化对象?
EN

Stack Overflow用户
提问于 2016-08-29 10:51:03
回答 1查看 780关注 0票数 1

我的用户提供了一个URL,我想使用这个URL作为我的React+Redux app.This中的<canvas>元素的背景,这意味着我的React组件的render()方法需要访问包含用户图像的<img> DOM节点。不幸的是,设置图像标记的src属性是异步的,因为在从服务器获取数据之前,请求的图像实际上不会填充到DOM中。

通常,对于异步任务,例如API调用,人们会将异步任务的结果直接存储到Redux存储中,但从读取Redux docs来看,似乎不建议在存储中存储不可序列化的对象(如DOM节点)。

有没有其他合理的方法来解决这个问题?目前,我正在滥用React组件的生命周期方法来监视URL prop的变化,然后异步地将<img> DOM节点设置为组件的状态,这感觉非常尴尬。

EN

回答 1

Stack Overflow用户

发布于 2016-08-29 11:32:14

为什么不将图像URL存储在store/state中,并将其传递给Image constructor

假设您在state中有url

代码语言:javascript
运行
复制
render() {
  var bg = new Image()
  bg.src = this.state.url
  // here you use the bg as an <img> element
}

这样,您不会将其设置为回调,而是将其设置为对状态更改的反应。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39197868

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档