我有一个非常简单的 React 页面,嵌入了下载按钮:
<button
type='button'
className='button'
onClick={this._downloadArchive}
style={{width: '100%'}}
>
<div style={styles.archiveButton}>
<div>Download</div>
<div>{'archive.zip'}</div>
</div>
</button>
以及相应的处理程序:
_downloadArchive = () => {
let filename = 'archive.zip';
let url = '/beta/archive32?filename=' + filename + screenDetails;
window.open(url)
};
在桌面浏览器中,它可以正常工作,但在所有移动浏览器中,处理程序被调用多次(3-4,取决于设备和浏览器),调用之间有 100-300 毫秒的延迟 - 我可以在后端日志中看到它。 同时,移动浏览器仅下载该文件一次。 如何防止此类行为?
尝试使用 onTouchEnd 事件(检测移动客户端) - 结果相同
最佳答案
你能用 JSON.parse 将文本响应解析为 json
关于javascript - React : in mobile browsers button onClick hadler fires multiple times. 桌面版没问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58898238/