【发布时间】:2020-07-02 05:51:36
【问题描述】:
目前,我正在为出现和消失的动画而苦苦挣扎。 我的目标是让视图进出动画.. 但我还希望视图在动画后 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 是 null..
我正在使用:
- react-native 0.62
- react-native-animatable 1.3.3
也许某人知道如何解决这个问题^^
谢谢
【问题讨论】:
标签: reactjs react-native react-animated react-native-animatable