[] EDIT:
При третьей перезагрузке моего Mac самопроизвольное устранение проблемы, не устраненной двумя предыдущими перезагрузками.Так что, если кто-то сталкивается с этой проблемой, просто продолжайте перезагрузку, пока она не заработает.эмулируемое устройство, но в нашем компоненте <WebView />
отображаются только некоторые веб-сайты, и сообщения об ошибках отсутствуют до истечения времени ожидания (которое занимает некоторое время), после чего «О, нет!»и объект Proxy регистрируется с сообщением Yellowbox.
У меня нет прямого контроля над кодом Android (Java), но любые потенциальные решения, требующие изменений в этой части проекта, также приветствуются.
И когда при загрузке страницы происходит сбой в сети A, результат, видимый в React-Native-Debugger
, равен:
Encountered an error loading page
{
"canGoForward": false,
"code": -2,
"canGoBack": false,
"description": "net::ERR_NAME_NOT_RESOLVED",
"loading": false,
"title": "",
"url": "https://www.stallman.org",
"target": 2
}
И оба "запускаются!"и "окончание!"журналы консоли запускаются.
В сети B Yellowbox никогда не появляется, а "запускается!"сообщение горит, но не "конец!"сообщение, даже после ожидания в течение полных 5 минут.
* * * Моя догадка (основываясь на некоторых других взглядах на проблему) заключается в том, что эта проблема связана с неправильной обработкой перенаправлений. * * *
У кого-нибудь есть идеи, как решить эту проблему и что может быть в корне?
Спасибо.
Сведения об эмуляторе Android:
Name: Nexus_5X_API_23
CPU/ABI: Google APIs Intel Atom (x86_64)
Path: /Users/$USER/.android/avd/Nexus_5X_API_23.avd // $USER = user
Target: google_apis [Google APIs] (API level 23)
Skin: nexus_5x
SD Card: 100M
hw.dPad: no
hw.lcd.height: 1920
runtime.network.speed: full
hw.accelerometer: yes
hw.device.name: Nexus 5X
vm.heapSize: 256
skin.dynamic: yes
hw.device.manufacturer: Google
hw.lcd.width: 1080
hw.gps: yes
hw.initialOrientation: Portrait
image.androidVersion.api: 23
hw.audioInput: yes
image.sysdir.1: system-images/android-23/google_apis/x86_64/
tag.id: google_apis
showDeviceFrame: yes
hw.camera.back: virtualscene
hw.mainKeys: no
AvdId: Nexus_5X_API_23
hw.camera.front: emulated
hw.lcd.density: 420
avd.ini.displayname: Nexus 5X API 23
hw.arc: false
hw.gpu.mode: auto
hw.device.hash2: MD5:bc5032b2a871da511332401af3ac6bb0
hw.ramSize: 1536
hw.trackBall: no
PlayStore.enabled: false
fastboot.forceColdBoot: no
hw.battery: yes
hw.cpu.ncore: 4
hw.sdCard: yes
tag.display: Google APIs
runtime.network.latency: none
hw.keyboard: yes
hw.sensors.proximity: yes
disk.dataPartition.size: 800M
hw.sensors.orientation: yes
avd.ini.encoding: UTF-8
hw.gpu.enabled: yes
Сведения о проекте:
"dependencies": {
"@types/react-redux": "^6.0.6",
"bind": "^0.1.7",
"deep-freeze": "0.0.1",
"i18next": "^11.6.0",
"prop-types": "^15.6.2",
"react-i18next": "^7.11.0",
"react-redux": "^5.0.7",
"redux": "^4.0.0",
"redux-thunk": "^2.3.0"
},
"peerDependencies": {
"react": "16.0.0",
"react-native": "0.51.0",
"react-native-svg": "^6.4.1",
"react-native-svg-loader": "^0.1.5",
"svgs": "^3.2.1"
},
(урезано) Код компонента:
import * as React from 'react';
import { Component } from 'react';
import { WebViewUriSource } from 'react-native';
import { Text, View, WebView } from 'react-native';
import { WebViewProps } from '../prop-types';
export class WebViewComponent extends Component<WebViewProps, {}> {
public onMessage = (event) => {
console.log(event);
}
public render () {
const jsCode = 'console.log("Hello World!")';
return (
<WebView
source={{ uri: 'https://www.stallman.org' }}
onLoadStart={() => console.log('starting!')}
onLoadEnd={() => console.log('ending!')}
style={{ flex: 1 }}
javaScriptEnabled={true}
mixedContentMode={'always'}
domStorageEnabled={true}
scalesPageToFit={true}
onMessage={this.onMessage}
injectedJavaScript={jsCode}
onError={(x) => console.log('Oh no!', x)}
renderError={() => {
return (
<View style={{ flex: 1 }}>
<Text>
Some Error Happened
</Text>
</View>);
}}
/>
);
}
}
Реквизит передан <WebView />
в значительной степени присутствуют в результате моих предыдущих поисков документации, проблем с Github и других статей SO.Пока что никто не решил проблему.