react组件里的dom方法调用

clipboard.png

想做一个react上传图片预览的组件,然后以前绑定事件都是写在class内部然后通过this.xxx来调用,
然后突发奇想举着这个bindEvent事件里全是dom相关的操作,那为什么非要挂在this上来调用而不是直接放在class外面?然后就这样写了(如图)没有发现问题,但是我到网上差了一下,把一个函数暴露在class组件外部可能造成内存泄漏(闭包函数)。
大家有什么好的办法来处理这些与组件不相关的方法嘛?

阅读 2k
2 个回答

看了一下你的代码,试试这样。不用写你的那么复杂的

<input type='file' onChange={ e => this.handleUpload(e)}/>

handleUpload(event) {
  console.log(event.target.files[0])
}

<input type='file' onChange={ () => this.handleUpload.bind(this)}/>

handleUpload() {
在arguments中可以取到事件对象
}

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题