gpt4 book ai didi

react-native - React Native Web Expo 的 WebView 替代方案

转载 作者:行者123 更新时间:2023-12-03 13:40:04 72 4
gpt4 key购买 nike

我想在我的应用程序中显示一个外部网站。
与适用于 Android/iOS 的 WebView 完全一样。
Expo 的 React Native WebView 不支持 web 平台。 https://docs.expo.io/versions/latest/sdk/webview/
是否有一种对 Expo 友好的替代方案,可以从 Web 平台中的 url 显示外部网站?

最佳答案

这个问题需要更多细节,但是,

您可以在 Platform.OS === 'web' 上查看平台使用样式化的 iframe 来显示外部网站。

更新:

你还没有说你在webview中渲染什么。所以我只是给你基本的代码。您需要为演示文稿做样式。

组件:

//native-webview.tsx
import React, { CSSProperties } from 'react';
import { Platform } from 'react-native';
import { WebView } from 'react-native-webview';

interface NativeWebViewProps {
target: string;
}

export const NativeWebView = (props: NativeWebViewProps): JSX.Element => {
if (Platform.OS === 'web') {
return <iframe src={props.target} style={styles} />;
}
return <WebView source={{ uri: props.target }} />;
};

const styles: CSSProperties = {
height: 600,
width: 800
};

App.tsx 中的用法:

// App.tsx
import React from 'react';
import { StyleSheet, View } from 'react-native';
import { NativeWebView } from './src/components/native-webview';

export default function App() {
return (
<View style={styles.container}>
<NativeWebView target="https://en.m.wikipedia.org" />
</View>
);
}

const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'center'
}
});

编辑:修复了错误的导入。

关于react-native - React Native Web Expo 的 WebView 替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62298683/

72 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com