在React Native中,我想对URLSearchParams进行抽象,所以我写了这个类:
export class HttpSearchParamsAdapter extends URLSearchParams implements HttpSearchParams {
constructor() {
super();
}
set(param: string, val: string): void {
super.set(param, val);
}
}
Run Code Online (Sandbox Code Playgroud)
但是当我构建应用程序时,我有这样的错误:无法找到变量:URLSearchParams.我使用es6的URLSearchParams.
正如mrgoos所说,URLSearchParams使用JavaScript Core的 iOS不支持,您可以向React Native添加一个polyfill。
例如,我在使用wretch时遇到问题,因此我全局使用了此polyfill:url-search-params-polyfill
// index.js
import 'url-search-params-polyfill';
Run Code Online (Sandbox Code Playgroud)
更新(适用于React Native 0.59)
在阵营本地0.59,开发商“执行”的一些方法URLSearchParams与throw new Error('not implemented');如此......这悲惨的失败了。
您可以在这里阅读问题:https : //github.com/facebook/react-native/issues/23922
代替我使用的polyfill,我们可以使用whatwg-url实现和buffer程序包,如下所述:https : //github.com/facebook/react-native/issues/23922#issuecomment-476070032
// index.js
import { URL, URLSearchParams } from 'whatwg-url';
import { Buffer } from 'buffer';
// react-native 0.59 added its own global URLSearchParams without implementation...
// https://github.com/facebook/react-native/blob/e6057095adfdc77ccbbff1c97b1e86b06dae340b/Libraries/Blob/URL.js#L66
// Issue: https://github.com/facebook/react-native/issues/23922
global.Buffer = Buffer;
global.URL = URL;
global.URLSearchParams = URLSearchParams;
Run Code Online (Sandbox Code Playgroud)
URLSearchParamsiOS不支持.
https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams
| 归档时间: |
|
| 查看次数: |
5385 次 |
| 最近记录: |