在过去的两天里,我一直在努力解决这个问题而无法理解。 我不明白这个错误。这是我的代码:
CallThirdParty(); // this function calls five other functions from classes X Y and Z
WriteToDatabase(); // no child function calls
PerformReconciliation(); // this function calls fourteen other functions from class A
这是错误:
017-06-21 13:49:02.761 [错误] [tid:com.facebook.React.JavaScript] 'FormData ERROR',{[TypeError:undefined不是构造函数 (评估'new FormData()')]行:98419,列:36,sourceURL: 'http://localhost:8081/index.ios.bundle?platform=ios&dev=true&minify=false' }
我是否必须在ReactNative 0.45.0中添加对FormData的支持? 请帮忙
答案 0 :(得分:4)
我也遇到了这个问题,因为我已将它们导入到顶部。 如果你做得像我做的那样:
import { FormData } from 'react';
或
import { FormData } from 'react-native';
只需删除" FormData"从你的进口,它将像魔术一样工作。不必导入FormData以使其正常工作。
答案 1 :(得分:1)
错误表明您的FormData未定义。由于它不是本机反应的一部分,您可能必须从npm下载。
npm install --save form-data
然后将其导入文件顶部
import FormData from 'form-data';
答案 2 :(得分:0)
我想我明白了。
首先,我在index.ios.js中找到了一些东西(不知道我从哪里得到这些“提示”)并删除了它们
// const _XHR = GLOBAL.originalXMLHttpRequest ?
// GLOBAL.originalXMLHttpRequest :
// GLOBAL.XMLHttpRequest
// XMLHttpRequest = _XHR;
// // FormData = global.originalFormData;
然后我发现我的调试器(Chrome或RNDebugger)搞乱了我的网络请求,这对多部分图像对象不利。 (奇怪吗?!的)
最后我使用了这段代码:
var fdObject = new FormData();
fdObject.append('avatar', {uri: PicturePath, name: 'avatar.jpg', type: 'image/jpg'});
options.method = POST;
options.headers['Content-Type'] = 'multipart/form-data';
options.body = fdObject;
fetch("http://api.com/post-my-image", options);
答案 3 :(得分:0)
如果
import { FormData } from 'react-native';
没有帮助的话,您可以尝试直接导入:
import FormData from 'react-native/Libraries/Network/FormData';