【发布时间】:2021-08-09 23:37:30
【问题描述】:
在屏幕 1 和屏幕 2 之间导航时,用户按下按钮。按下后,有时可能需要几秒钟才能应用程序将它们导航到下一个屏幕,因此看起来没有任何事情发生。在导航到下一页之前,我将如何使活动指示器出现?我已经让 ActivityIndicator 在其他内容加载时工作,但直到他们导航到该页面。
下面是我在加载地图页面时启动活动指示器的代码:
const [isLoading, setIsLoading] = useState(true)
const renderLoading = () => {
if (isLoading) {
return (
<View style = {{justifyContent: 'center', backgroundColor: '#d3d3d3', textAlign: 'center', height: height, width: width}}>
<ActivityIndicator
color = 'black'
size = 'large'
animated = {false}
/>
<Text style = {[ styles.text, {textAlign: 'center'}]}>{i18n.t('loading')}</Text>
</View>
);
}else {
return null;
}
}
<View style = {styles.container}>
{renderLoading}
....
</View>
【问题讨论】:
-
您所说的“导航”是什么意思,您实际上是在导航(例如,使用
react-native-navigation),还是只是显示不同的屏幕(例如组件)? -
所以主要问题是,您是否可以控制“地图”页面,还是第三方提供的组件/屏幕?
-
很抱歉,我被其他事情缠住了。我们确实可以控制页面
标签: javascript react-native hook use-effect activity-indicator