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>標(biāo)簽內(nèi)測試時(shí)是有效的,但用在componentDidUpdate里img.onload的回調(diào)不能觸發(fā);有誰知道為什么嗎?
1 回答

白衣染霜花
TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超10個(gè)贊
初始化第一次渲染這個(gè)生命周期是不會(huì)執(zhí)行的, 因此應(yīng)該不是onload不執(zhí)行,是整個(gè)都不執(zhí)行吧?
如果不是第一次渲染的情況的話, 那就需要你貼一下你的script中寫的可行的代碼來分析了
添加回答
舉報(bào)
0/150
提交
取消