Comments (5)
I kinda get around it by having the visible
state default to null then then only showing the animated bootSplash (setting visible to true) when the onReady is called
const [bootSplashVisible, setBootSplashVisible] = useState<boolean | null>(
null
);
useEffect(() => {
SetNavBarColor(bootSplashVisible !== false? 'transparent' : isDarkMode ? '#242424' : '#FFFFFF', !isDarkMode, true);
}, [isDarkMode, bootSplashVisible]);
...
<StatusBar translucent={bootSplashVisible !== false} backgroundColor={bootSplashVisible !== false ? 'transparent' : isDarkMode ? '#242424' : '#FFFFFF' }
barStyle={isDarkMode ? 'light-content' : 'dark-content'} />
<NavigationContainer
onReady={() => {
setBootSplashVisible(true);
// void BootSplash.hide({fade: true});
}}
}}>
<MainNavigator />
</NavigationContainer>
{bootSplashVisible && (
<AnimatedBootSplash
onAnimationEnd={() => {
setBootSplashVisible(false);
}}
/>
)}
from react-native-bootsplash.
This is a good idea, but having a hide
function to call is actually a breaking change as we will need to fire it.
What do you think about this instead?
// ready is a prop and handled by the parent. default to true (auto hide)
const { container, logo } = BootSplash.useHideAnimation({
ready: isReady,
});
from react-native-bootsplash.
This is a good idea, but having a
hide
function to call is actually a breaking change as we will need to fire it.What do you think about this instead?
// ready is a prop and handled by the parent. default to true (auto hide) const { container, logo } = BootSplash.useHideAnimation({ ready: isReady, });
Hi. Yeah i also think this would be fine.
from react-native-bootsplash.
After a bit if reflexion, it would be clearer with a TS union:
const [bootSplashState, setBootSplashState] = useState<
"visible" | "hiding" | "hidden"
>("visible");
const barColor =
bootSplashState === "hidden"
? isDarkMode
? "#242424"
: "#FFFFFF"
: "transparent";
useEffect(() => {
SetNavBarColor(barColor, !isDarkMode, true);
}, [barColor, isDarkMode]);
// ...
return (
<>
<StatusBar
translucent={bootSplashState !== "hidden"}
barStyle={isDarkMode ? "light-content" : "dark-content"}
backgroundColor={barColor}
/>
<NavigationContainer
onReady={() => {
setBootSplashState("hiding");
}}
>
<MainNavigator />
</NavigationContainer>
{bootSplashState === "hiding" && (
<AnimatedBootSplash
onAnimationEnd={() => {
setBootSplashState("hidden");
}}
/>
)}
</>
);
from react-native-bootsplash.
You can hide splash screen manually call start animation function
from react-native-bootsplash.
Related Issues (20)
- Crash on Android <= 9 - Attempt to invoke virtual method Drawable.isProjected() on a null object reference - solved in 5.1.2 HOT 2
- Bug when assembleeRelease HOT 1
- iOS error during debug scheme starting HOT 2
- How can i show code push progress bar in splash screen? HOT 1
- Output/Document need to manually create missing images HOT 1
- Default Android system splashscreen appears before my custom splashscreen HOT 1
- Add option to use system scheme instead of scheme returned by useColorScheme in useHideAnimation HOT 6
- 我在屏幕中间放一个logo,我还需要在屏幕底部放些文字,要怎么做呢?
- Add plugin for nx HOT 1
- splash icon disappeared in android HOT 3
- Adding android:windowBackground causes it to appear after original splash hides HOT 3
- Generated background has incorrect color HOT 6
- Generate splashscreen HOT 1
- iOS: building failed with RN 0.73 and new arch enabled HOT 3
- RN 0.74 - How to avoid `createRootViewWithBridge` HOT 1
- Small icon size on Samsung devices with Android 12 HOT 3
- Expo config plugin overrides AppDelegate imports from other plugins HOT 8
- circle in the center at the beginning of the splash screen display (android) HOT 1
- iOS crashes with react native 0.74 without new arch HOT 2
- Android app does not launch automatically in debug mode HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from react-native-bootsplash.