如何在React Native中向XMLHttpRequest添加事件监听器?

时间:2016-04-21 11:27:13

标签: react-native

我是React Native的新手。

我尝试了很多方法将文件上传到服务器并处理进度。 我发现使用XMLHttpRequest可以实现这一点,但是当我尝试使用

var xhr = new XMLHttpRequest();
xhr.addEventListener('progress',function(event){....});

这个代码第一次有效,但是在重新加载js后,这段代码不再起作用了,发生了一个奇怪的错误:

  

undefined不是一个函数(评估' request.addEventListener')

问题是什么以及如何解决?

React非常奇怪,有些东西今天起作用而且明天不起作用!

2 个答案:

答案 0 :(得分:0)

我发现只重新加载Javascript而不是重新启动应用程序时,不会运行componentWillMount方法。当我试图捕捉通过反应桥发送的事件时,这对我来说是一个问题。如果您使用它来启动监听器,那么只要重新加载JavaScript就不会添加它。我只是在每次更改内容时重新启动应用程序,并且必须测试代码是否正在捕获事件。

我在Android设备上完成了这项工作。希望这对你有所帮助。如果我找到问题的实际解决方案而不仅仅是解决方法,我会回来。

答案 1 :(得分:0)

您可能不再需要它了,但对于其他人来说,这是添加事件监听器的正确方法:

xhr.upload.addEventListener('progress', function(event) { console.log(event); });