React Native – [IOS] – Got a blank screen after SplashScreen.hide()


  • React Native Navigation version: 7.37.2
  • React Native version: 0.71.15
  • react-native-navigation: 7.37.2
  • react-native-splash-screen: 3.3.0
  • Has Fabric (React Native’s new rendering system) enabled: no
  • Node version: 21.5.0
  • Device model: iphone13
  • iOS version: 16.2

I got a blank screen after SplashScreen.hide(), even if the SignInScreen’s render() has been called

Navigation.registerComponent(appName, () => (props) => <StoreProvider store={store}>
  <App {...props}/>
</StoreProvider>, () => App);

Navigation.registerComponent('app.SignInScreen', () => (props) => <Provider store={store}>
  <SignInScreen {...props}/>
</Provider>, () => SignInScreen);

Navigation.registerComponent('app.ScanningScreen', () => (props) => <Provider store={store}>
  <ScanningScreen {...props}/>
</Provider>, () => ScanningScreen);

Navigation.events().registerAppLaunchedListener(async () => {
  let session = await checkForPreviousSession() || {};  <--  invoke `SplashScreen.hide()` in this function
  Navigation.setRoot({
    root: {
      stack: {
        children: [
          {
            component: {
              name: Object.keys(session).length ? 'app.ScanningScreen' : 'app.SignInScreen' // unique ID registered with Navigation.registerScreen
            },
          },
        ],
        options: {
          statusBar: {
            backgroundColor: COLORS.BLUE,
            style: session ? 'light' : 'dark'
          },
          topBar: { visible: false, height: 0 },
          layout: {
            orientation: ['portrait'], // must be defined in root and within subsequent screens
          },
        },
      },
    },
  });
});

Podfile:

use_react_native!(
  :path => config[:reactNativePath],
  # to enable hermes on iOS, change `false` to `true` and then install pods
  :hermes_enabled => true, #flags[:hermes_enabled],
  :fabric_enabled => false, #flags[:fabric_enabled],
  # An absolute path to your application root.
  :flipper_configuration => flipper_config,
  :app_path => "#{Pod::Config.instance.installation_root}/.."
)

Reinstall the dependencies

Latest articles

spot_imgspot_img

Related articles

Leave a reply

Please enter your comment!
Please enter your name here

spot_imgspot_img