目前,我正在为出现和消失的动画而苦苦挣扎。我的目标是让视图进出动画。但我也希望视图在动画后 100% 消失
主意
...
const visible: boolean = props.visible || false;
const [showView, setShowView] = useState<boolean>(visible);
const viewAnimation = useRef<Animatable.View & View>(null);
useEffect(() => {
const Animation = async () => {
if (visible) {
setShowView(true);
if (viewAnimation.current)
await viewAnimation.current.bounceIn(2000);
} else {
if (viewAnimation.current)
await viewAnimation.current.bounceOut(2000);
setShowView(false)
}
}
Animation();
}, [visible, viewAnimation]);
...
{showView &&
<Animatable.View ref={viewAnimation}>
...
</Animatable.View>
}
...
问题 viewAnimationRef 在下一个渲染周期中设置,而不是在将 showView 设置为 true 后立即设置 ->bounceIn 动画将永远不会执行.. 因为 viewAnimation.current 为空..
我在用:
- 反应原生 0.62
- 反应原生动画 1.3.3
也许某人有一个想法如何解决这个问题^^
谢谢