componentDidUpdate(prevProps, prevState, snapImg){ if(this.props.bookImg!=null && this.props.bookImg!==prevProps.bookImg){ var canvas= document.createElement('canvas'); var ctx= canvas.getContext('2d'); var img= new Image();
img.crossOrigin= 'Anonymous'; var dataURL;
img.onload=function() { console.log('fn');
ctx.drawImage(img, 0, 0);
dataURL= canvas.toDataURL("image/jpeg"); console.log(dataURL);
}
img.src=this.props.bookImg; console.log('end');
}
}这段代码,我在<script>标签内测试时是有效的,但用在componentDidUpdate里img.onload的回调不能触发;有谁知道为什么吗?
1 回答
![?](http://img1.sycdn.imooc.com/533e4d660001312002000200-100-100.jpg)
白衣染霜花
TA贡献1796条经验 获得超10个赞
初始化第一次渲染这个生命周期是不会执行的, 因此应该不是onload不执行,是整个都不执行吧?
如果不是第一次渲染的情况的话, 那就需要你贴一下你的script中写的可行的代码来分析了
添加回答
举报
0/150
提交
取消