使用Stack.Screen(iOS/Android)添加React Navigation后,React Native应用程序卡在启动屏幕上

igetnqfo  于 2023-01-21  发布在  React
关注(0)|答案(2)|浏览(119)

就像这个问题说的,我正在遵循一个教程,它工作得很好,所以我想把它实现到我自己的副项目应用程序中。添加后,它完全一样的文件说,组件中<Stack.Screen/>不会加载。我已经尝试了很多事情,但似乎没有工作。也没有错误,所以我坚持如何调试。
由于我不知道是我的代码的哪一部分导致了这个问题,我将在这里发布我的github repo链接。
https://github.com/totablue/ToyBoxOfWords

nwlqm0z1

nwlqm0z11#

回答我自己的问题。导致我的应用程序卡在闪屏上的原因是应用程序加载字体时调用的SplashScreen.preventAutoHideAsync()。

const onLayoutRootView = useCallback(async () => {
        if (fontsLoaded) {
            await SplashScreen.hideAsync();
        }
    }, [fontsLoaded]);

这部分代码没有运行,因此闪屏不会消失。
使用此视频以不同的方式加载自定义字体,它修复了所有问题。https://youtu.be/viIkcDYSBrI

xwbd5t1u

xwbd5t1u2#

我试着运行你的代码,运行得很好。问题是你没有添加一些依赖项!这是我在你的代码中使用的package.json文件。
{“依赖关系”:{“曝光字体”:“~10.2.0”,“曝光常数”:“~13.2.4”,“曝光状态栏”:“~1.4.0”、“@expo/矢量图标”:“^13.0.0”,“曝光闪屏”:“~0.16.2”,“React-天然-纸”:“4.9.2”,“React-本地-屏幕”:“~3.15.0”,“@React导航/本地”:“"、“@React导航/本机堆栈”:“",“React-本机-安全-区域-上下文”:“4.3.1”} }

相关问题