我有一个呈现通知文本的React Native组件。我希望文本在一个小的延迟后淡入淡出。当设置新的通知文本时,我希望重新启动相同的动画。
下面的代码:
export default function Notification({ notification }) {
if (!notification) {
return null;
}
const [fadeAnimation] = useState(new Animated.Value(0));
useEffect(() => {
Animated.sequence([
Animated.timing(fadeAnimation, {
toValue: 1,
duration: 500,
useNativeDriver: true,
}),
Animated.delay(3000),
Animated.timing(fadeAnimation, {
toValue: 0,
duration: 500,
useNativeDriver: true,
})]).start()
}, []);
return (
<Animated.View style={{ opacity: fadeAnimation, }}>
<View style={styles.notificaton}>
<Text style={styles.text}>{notification}</Text>
</View>
</Animated.View >
)
}
我读到我应该能够再次使用setValue(0)
重置动画,但是我不知道何时何地调用它。
1条答案
按热度按时间7lrncoxx1#
"为我工作"