使用的版本:
"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 Native代码:
<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上,它可以正常加载。
没有错误。这可能是一个已知问题吗?但是我找不到任何地方的报道。
答案 0 :(得分:1)
expo-web当前不支持WebView
。检查Platform Compatibility了解更多信息。
但是,如果您想将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>
)
}
}
希望这对您有所帮助。放心怀疑。