gpt4 book ai didi

javascript - 如何在不使用任何其他库和插件的情况下在 react 导航中创建启动画面

转载 作者:行者123 更新时间:2023-12-05 05:04:34 25 4
gpt4 key购买 nike

我正在构建 react-native 应用程序而不使用任何框架,如 expo 和其他。我正在尝试在不使用任何 npm 包和其他库的情况下在 React 导航中创建启动画面,所以我的问题是:我该如何实现?

const StackNavigation = (props) => {
return (
<Stack.Navigator initialRouteName="Splash" >
<Stack.Screen name="Home" component={HomeScreen} options={({ navigation, route }) =>
({
headerLeft: props => (
<Icon
name='rowing'
color='#00aced'
onPress={() => navigation.openDrawer()}
/>

)
})} />
<Stack.Screen name="Post" component={PostScreen} />
<Stack.Screen name="Splash" component={SplashScreen} options={{headerShown: false}}/>
</Stack.Navigator>
);
}

最佳答案

仅使用 React-native 端添加启动画面的一个问题是,每次启动应用程序时,您都会发现一个难看的白屏,这个白屏可持续 5-20 秒。这是因为当你的应用程序启动时,它需要加载 React-native 来运行你的代码,在此期间你的代码甚至没有开始运行,因此白屏。

但是,如果您不关心白屏,这是我的解决方案,它也不需要 react 导航,只需在 componentDidMount() 或 useEffect() 中显示启动画面,并在 setTimeout( )

import React, {useState, useEffect} from 'react';
import { Text, View, StyleSheet, Image } from 'react-native';

export default function App() {

const [splash, setSplash] = useState(true);
useEffect(() => {
setTimeout(() => {
setSplash(false);
}, 1000);
}, []);

return splash ?
(<View style={styles.container}>
<Image style={styles.logo} source={require('./assets/snack-icon.png')} />
</View>) : (
<View style={styles.container}>
<Text style={styles.paragraph}>
Home Screen
</Text>
</View>
);
}

这是零食https://snack.expo.io/Y4ZfWkc9g

如果你需要避免在 Android Studio 中玩弄白屏,幸运的是有一些 npm 库可以帮助你避免这种情况

https://github.com/zoontek/react-native-bootsplash

https://github.com/crazycodeboy/react-native-splash-screen

关于javascript - 如何在不使用任何其他库和插件的情况下在 react 导航中创建启动画面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61040763/

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