【发布时间】:2020-06-28 06:32:06
【问题描述】:
我在 Web 视图中有一个 url,例如 https://www.nytimes.com/ 当前代码在初始页面加载时工作,但如果我键入点击链接中的任何内容,页面需要一段时间才能加载,并且网站中没有加载指示器。当我们点击任何链接或页面加载时,有什么方法可以在 React Native 中放置一个页面加载指示器,特别是如果它是像下一个 js 那样在服务器端呈现的?
这是我的 ReactNative 代码。
import * as React from 'react';
import {
View,
Text,
Image,
SafeAreaView,
ScrollView,
TextInput,
TouchableOpacity,
} from 'react-native';
import styles from './styles';
import { WebView } from 'react-native-webview';
// import WelcomeSwiper from '../../components/WelcomeScreen/WelcomeSwiper';
import LoadingIcon from '../../components/Loading/index.js';
const WebView = ({ navigation }) => {
return (
<SafeAreaView style={styles.container}>
<WebView
javaScriptEnabled={true}
domStorageEnabled={true}
renderLoading={LoadingIcon}
source={{ uri: 'https://www.nytimes.com/ ' }}
startInLoadingState={true}
/>
</SafeAreaView>
);
};
export default WebView;
这是我的加载组件
import React from 'react';
import { StyleSheet, Platform, ActivityIndicator } from 'react-native';
const LoadingIcon = () => {
return (
<ActivityIndicator
color='#009688'
size='large'
style={styles.ActivityIndicatorStyle}
/>
);
}
export default LoadingIcon;
const styles = StyleSheet.create(
{
WebViewStyle:
{
justifyContent: 'center',
alignItems: 'center',
flex: 1,
marginTop: (Platform.OS) === 'ios' ? 20 : 0
},
ActivityIndicatorStyle: {
position: 'absolute',
left: 0,
right: 0,
top: 0,
bottom: 0,
alignItems: 'center',
justifyContent: 'center'
}
});
【问题讨论】:
-
是您的代码无法正常工作还是需要其他解决方案?
-
此代码在页面第一次加载时有效,但页面加载后页面加载中的链接不起作用
标签: reactjs react-native webview