V P*_*V P 4 okhttp react-native
我的图像和许多其他功能都位于我的后端API(使用Java Spark框架编写)的背后。这些服务仅是https,并且API通常会执行其他功能(例如,它们不仅提供静态图像)。
在React本机javascript形式中,
const imageTest='https://10.0.1.10:4567/api/v1/get-image-simple/full-size/myImage.jpg/'
<Image source={{uri : imageTest}}
style={theme.cardImageStyle}
/>
Run Code Online (Sandbox Code Playgroud)
这不起作用,因为我的服务器使用自签名证书(并且还需要一些显式头)。
相同类型的图片url链接在我的android主机中也可以正常工作(我的应用是混合动力,有些活动仅是android,有些则是带有react native)。我的android应用具有自定义的okhttp客户端以及所有必需的设置,可通过HTTP与我的api通信。
我找不到如何将OkHTTP客户端连接到本机响应的示例/参考,以便所有内容都通过该响应。我曾见过的各种bug报告这个,但似乎无法找到什么样的反应,原生版本实际上是任何文件。
我试着盲目地做
com.facebook.react.modules.network.OkHttpClientProvider.replaceOkHttpClient(
MyPersonalAppInstance.getApplicationComponent().okHttpClient());
Run Code Online (Sandbox Code Playgroud)
但它似乎无能为力;
我还没有机会对此进行测试,但是根据的讨论[this issue][1],以下内容应能在0.54+版本中工作以设置自定义OkHttp客户端。
创建React Native应用程序并在构造函数中设置一个自定义工厂,例如 OkHttpClientProvider.setOkHttpClientFactory(new CustomNetworkModule());
定制工厂的外观如下:
class CustomNetworkModule implements OkHttpClientFactory {
public OkHttpClient createNewNetworkModuleClient() {
return new OkHttpClient.Builder()
.cookieJar(new ReactCookieJarContainer())
.build();
}
}
Run Code Online (Sandbox Code Playgroud)
以上是基于此commit的信息。
| 归档时间: |
|
| 查看次数: |
2574 次 |
| 最近记录: |