ReactNative WebView не рендерит в сети, но отлично работает на Android - PullRequest
0 голосов
/ 09 марта 2020

Используемые версии:

"expo": "^36.0.2",
"react": "16.9.0",
"react-dom": "^16.8.6",
"react-native": "0.61.4",
"react-native-web": "0.11.7",
"react-native-webview": "^8.1.2"

Используется React Собственный код:

<WebView
    source={{uri: 'https://www.somedomain.com/'}}
    style={{marginTop: 22, flex: 1}}
    injectedJavaScript={this.state.contentScript}
    domStorageEnabled={true}
    startInLoadingState={true}
    onMessage={this.receiveMessage}
    ref={this.props.webview}
/>

В веб-версии присутствует только красная граница, в то время как на Android она загружается нормально.

Ошибок нет. Может ли это быть известной проблемой? Но я не могу найти, чтобы об этом сообщали нигде.

1 Ответ

1 голос
/ 09 марта 2020

В настоящее время WebView не поддерживается expo-web. Проверьте Совместимость платформ для получения дополнительной информации.

Но если вы хотите загрузить WebView в expo-web, поместите его в iframe, как показано ниже,

import * as React from "react";
import { View, Platform } from "react-native";
import { WebView } from "react-native-webview";

export default class App extends React.Component {
  render() {
    return Platform.OS === "web" ? (
      <iframe src="https://www.somedomain.com/" height={'100%'} width={'100%'} />
    ) : (
      <View style={{ flex: 1 }}>
        <WebView
          source={{ uri: "https://www.somedomain.com/" }}
          style={{marginTop: 22, flex: 1}}
        />
      </View>
    )
  }
}

Надеюсь, это поможет вам. Не стесняйтесь сомнений.

...