import React, { useEffect, useRef } from 'react'; import { Animated, Text, View, StyleSheet } from 'react-native'; const NotificationBox = (props) => { const opacity = useRef(new Animated.Value(0)).current; useEffect(() => { Animated.sequence([ Animated.timing(opacity, { toValue: 1, duration: 500, }), Animated.delay(2500), Animated.timing(opacity, { toValue: 0, duration: 500, }), ]).start(() => { props.onHide(); }) }, []) return ( {props.message} ); }; const Notification = (props) => { return ( {console.log(props.notification)} {props.notification.map((notificationMsg) => ( { props.setNotification((prev) => prev.filter((currentNotification) => currentNotification !== notificationMsg ) ) }} /> ))} ) } const style = StyleSheet.create({ msgBox: { margin: 10, marginBottom: 5, backgroundColor: 'white', padding: 15, borderRadius: 4, shadowColor: 'black', shadowOffset: { width: 0, height: 3, }, shadowOpacity: 0.3, shadowRadius: 5, elevation: 6, }, textStyle: { fontSize: 20 } }) export default Notification