如何用React-Native Post Form 表单

今天使用react native 发送请求的时候,发现使用

fetch('https://mywebsite.com/endpoint/',{ method: 'POST',headers: { },body: JSON.stringify({ firstParam: 'yourValue',secondParam: 'yourOtherValue',}) })

默认发送’Content-Type’: ‘application/json’ 的请求,但是现在想发送Form表单,该怎么写尼?查阅官方文档
无解,各种stackoverflow还是没有类似的答案,每当stackoverflow上都没有答案的时候,我就准备看源码了,这时候,突然想到立成同学的一句话,github的issues上面比文档还可靠,抱着试试看的态度,翻了一下issue,原来github的issue还有内部搜索功能,真方便。功夫不负有心人,在#5308
这里找到了答案:

let formData = new FormData();
formData.append('image',{uri: image.uri,type: 'image/jpg',name: 'image.jpg'});
formData.append('description',String(data.description));

let options = {};
options.headers['Content-Type'] = 'multipart/form-data; boundary=6ff46e0b6b5148d984f148b6542e5a5d';
options.body = formData;
return fetch(uri,options).then((response) => { .... });

只要把body从Json换成FromData就可以了,解决完问题然后下班的感觉真好。

相关文章

react 中的高阶组件主要是对于 hooks 之前的类组件来说的,如...
我们上一节了解了组件的更新机制,但是只是停留在表层上,例...
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom...
react 本身提供了克隆组件的方法,但是平时开发中可能很少使...
mobx 是一个简单可扩展的状态管理库,中文官网链接。小编在接...
我们在平常的开发中不可避免的会有很多列表渲染逻辑,在 pc ...