@exodus/联网-移动
该寄存器包含针对反应土著背景的网络光谱的实施.
安装
pnpm add @exodus/networking-mobile
使用量
以下各节将概述如何使用作为组成部分的各种模块 本包中.
@exodus/网络-移动/http+形式
React 本地获取执行不支持符合规格 FormData 对象.
为了拥有一个类似于我们从浏览器中习惯的API,这个模块带有它自己的飞船
FormData 执行.
要使用它,请导入它,并添加您使用的数据:
import { FormData } from '@exodus/networking-mobile/form'
const formData = new FormData()
formData.append('name', 'Bruce Wayne')
// set is also available
formData.set('name', 'Batman')
// ...and many more: delete, get, getAll, entries, keys, values
相对于浏览器执行, RN FormData 不仅是一个数据容器,而且知道如何
连载自己。 因此 FormData 使用此模块进行执行传输(该模块遵循浏览器光谱),
无法直接与 RN 一起使用 fetch。 。 。 .
为了克服这一限制,请使用 HttpClient 这是其中的一部分
模块。 它会带一个 fetch 函数具有与 RN 相同的签名 fetch 但能处理我们 FormData。 。 。 .
import { FormData, File } from '@exodus/networking-mobile/form'
import { createHttpClient } from '@exodus/networking-mobile/http'
import RNFS from '@exodus/react-native-fs'
const client = new createHttpClient({
fs: RNFS,
os: 'android',
createUuid: uuidv4,
hashString: shasum,
logger,
})
const formData = new FormData()
formData.set('passport', new File(buffer, 'passport.jpg'))
await client.fetch('https://wayne.enterprises/upload', { method: 'POST', body: formData })
客户端正在变换 FormData 将文件写入临时文件夹,并附上文件 URI, MIME 类型,
将文件名移至 RN FormData 然后传递到 RN 对象 fetch。任何临时创建的文件都是
请求完成时删除 - 成功与否 .
请注意,上述文件也由本单元提供。 它收到一个类型对象 Buffer一个名字,
可选属性设置 MIME 类型和上次修改的日期。 结合使用 MIME 类型无效
与 HttpClient,因为客户端会自动从文件扩展名中获取 MIME 类型.
@ exodus/ 联网- 移动/ cookie
移动 CookieJar 得用它运行的平台进行即时直播.
import { CookieJar } from '@exodus/networking-browser/cookie'
const jar = new CookieJar('android')
饼干可以通过指定其主机和名称(以及可选的路径)来取出
await jar.remove({ name: 'csrf', host: 'sub.domain.com' })
要摆脱所有的饼干,请使用以下方法:
await jar.removeAll()