react-native - 只有第一个动画在动画视图中有效
问题描述
我在 React Native 中为我的登录(启动画面动画)做我的第一个动画,但只有我的第一个动画作品(startAnimation),之前都没有。
如果我删除 startAnimation,middleAnimation 就可以了。只有第一个 Animate.sequence 有效。
const login: React.FC = ({ navigation }: any) => {
const edges = useSafeAreaInsets();
const startAnimation = useRef(new Animated.Value(0)).current;
const middleAnimation = useRef(new Animated.Value(0)).current;
const finalAnimation = useRef(new Animated.Value(0)).current;
const [animation, SetAnimation] = useState<any>(false);
useEffect(() => {
animationLogin();
}, []);
function animationLogin() {
SetAnimation(true);
setTimeout(() => {
Animated.sequence([
Animated.delay(500),
Animated.timing(startAnimation, {
toValue: -Dimensions.get('window').height + (edges.bottom + 270),
useNativeDriver: true,
}),
Animated.delay(1000),
Animated.timing(middleAnimation, {
toValue: -Dimensions.get('window').height + (edges.bottom + 290),
useNativeDriver: true,
}),
Animated.delay(500),
Animated.timing(finalAnimation, {
toValue: -Dimensions.get('window').height + (edges.bottom + -845),
useNativeDriver: true,
}),
]).start();
}, 1000);
}
return (
<View
style={{
position: 'absolute',
top: 845,
bottom: 0,
left: 0,
right: 0,
}}
>
<Animated.View
style={{
flex: 1,
zIndex: 1,
transform: [{ translateY: startAnimation }],
}}
>
<Animated.View
style={{
flex: 1,
alignItems: 'center',
justifyContent: 'center',
}}
>
<Image source={Logo}></Image>
</Animated.View>
</Animated.View>
</View>
)
解决方案
推荐阅读
- oracle - ORA-001031从存储过程执行语句时权限不足
- python-3.x - 如何避免使用 pip install -e
每次我 git pull 更新 ? - android - 模棱两可的 Firebase 分析控制台错误
- protractor - 如何修复“错误:getaddrinfo ENOTFOUND selenium-release.storage.googleapis.com selenium-release.storage.googleapis.com:443”
- ruby-on-rails - Ruby on Rails 添加评论以发表
- vhdl - VHDL 中带有 MPU6050 的 I2Cmaster 无法正常工作
- sql - 删除选择中的重复项
- reactjs - react redux - 重置其他状态
- json - 我如何知道 JSON 字符串包含一个没有提供任何键的数组(在 Java 中)?
- wordpress - 如何在主页上调用自定义帖子类型的 ACF 字段