1 changed files with 39 additions and 0 deletions
@ -0,0 +1,39 @@ |
|||
import React from "react"; |
|||
import { Animated} from "react-native"; |
|||
import { useEffect, useRef } from "react"; |
|||
|
|||
function Fade(props){ |
|||
const faded = useRef(new Animated.Value(0.25)); |
|||
const opaque = useRef(new Animated.Value(1)); |
|||
|
|||
useEffect(() => { |
|||
if (props.faded) { |
|||
Animated.timing( |
|||
opaque.current, |
|||
{ |
|||
toValue: 0.25, |
|||
duration: props.duration, |
|||
useNativeDriver: true |
|||
} |
|||
).start(); |
|||
} else { |
|||
Animated.timing( |
|||
faded.current, |
|||
{ |
|||
toValue: 1, |
|||
duration: props.duration, |
|||
useNativeDriver: true |
|||
} |
|||
).start(); |
|||
} |
|||
}, [props.faded]) |
|||
|
|||
|
|||
return ( |
|||
<Animated.View style={{ opacity: (props.faded ? opaque.current : faded.current)}}> |
|||
{props.children} |
|||
</Animated.View> |
|||
) |
|||
} |
|||
|
|||
export default Fade; |
Loading…
Reference in new issue