通过接口获取文件流 然后使用FileReader接口转成DataURL 但是当组件卸载时由于onloadend是异步的可能还是会执行setPicUrl 求问大佬要怎么清除这个副作用呢
通过接口获取文件流 然后使用FileReader接口转成DataURL 但是当组件卸载时由于onloadend是异步的可能还是会执行setPicUrl 求问大佬要怎么清除这个副作用呢
不知道你是用的是react 那个版本
如果是用的是支持hooks版本的react,你可以这样使用useEffect 通过返回一个函数在页面卸载的时候执行
useEffect(()=> {
// 执行你的副作用
// 比如
window.addEventListener
return () => {
// 你想清除的副作用代码
// 比如
window.removeEventListener
}
}, [])
如果是老版本的react,只需要在加载跟卸载生命周期内完成就行。
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答5.2k 阅读✓ 已解决
1 回答3.4k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
EffectCallback可以返回一个清除函数,卸载的时候执行