【发布时间】:2018-02-15 12:00:41
【问题描述】:
我有一个用于渲染自定义图像的 React 组件。在简化的形式中,它看起来像这样:
function MyImage(props) {
return <img src={props.src} onLoad={props.onLoad} />
}
网页由ReactDOMServer 服务器渲染,<img> 元素(有意)已经存在于初始 HTML 文档中。但是,他们的onLoad 事件处理程序不是。我相信这是ReactDOMServer 的一个功能。
有时会发生的情况是,一些自定义图像,尤其是较小的图像,可以完成加载 在 JavaScript 加载之前或在它开始运行之前,或者至少在 React 设置 onLoad 之前事件处理程序。因此,这些图像上的onLoad 事件不会导致调用任何事件处理程序。
有没有办法确保在 React 渲染的 <img> 元素中设置的 onLoad 事件处理程序在底层图像完成加载后始终被调用?
我最重要的限制是我想使用 React 并且服务器渲染的 HTML 页面需要包含 <img> 元素它们的 src 属性设置正确。
【问题讨论】:
标签: javascript image reactjs react-dom-server