React/animation - 每当状态或道具改变时点击按钮渲染动画
React/animation - render animation everytime on button click when state or props change
每次单击以下项目中的按钮时,我都试图让动画工作
代码 - https://codesandbox.io/s/8fjs8i
描述
有 3 个按钮,分别命名为 first、second 和 third。当我点击第一个时,下面的紫色框首先显示,当我点击第二个时,它显示第二个等等,基本上 div 每次都根据按钮点击进行更新。
问题: 但是我给 div 的动画 fadIn 仅在应用程序加载时有效。我怎样才能让它在每次单击按钮时都起作用,以便每次单击时框淡入动画。
const Renders = ({ arr }) => {
const [load, setLoad] = useState(false);
useEffect(() => {
setLoad(true);
setTimeout(() => {
setLoad(false);
}, 1);
}, [arr]);
if (load) return <></>;
return (
<div className="renders">
<div className="zoomers">{arr}</div>
</div>
);
};
这是另一种方法:
const Renders = ({ arr }) => {
const [load, setLoad] = useState(false);
useEffect(() => {
setLoad(true);
setTimeout(() => {
setLoad(false);
}, 1);
}, [arr]);
return (
<div className="renders">
<div className={load ? '' : "zoomers"}>{arr}</div>
</div>
);
};
现在看起来不一样了,在你加载和卸载之前,现在它只是一个使用 class 名称的游戏,每次你加载带有动画的元素时 class 所以它开始工作
每次单击以下项目中的按钮时,我都试图让动画工作
代码 - https://codesandbox.io/s/8fjs8i
描述 有 3 个按钮,分别命名为 first、second 和 third。当我点击第一个时,下面的紫色框首先显示,当我点击第二个时,它显示第二个等等,基本上 div 每次都根据按钮点击进行更新。
问题: 但是我给 div 的动画 fadIn 仅在应用程序加载时有效。我怎样才能让它在每次单击按钮时都起作用,以便每次单击时框淡入动画。
const Renders = ({ arr }) => {
const [load, setLoad] = useState(false);
useEffect(() => {
setLoad(true);
setTimeout(() => {
setLoad(false);
}, 1);
}, [arr]);
if (load) return <></>;
return (
<div className="renders">
<div className="zoomers">{arr}</div>
</div>
);
};
这是另一种方法:
const Renders = ({ arr }) => {
const [load, setLoad] = useState(false);
useEffect(() => {
setLoad(true);
setTimeout(() => {
setLoad(false);
}, 1);
}, [arr]);
return (
<div className="renders">
<div className={load ? '' : "zoomers"}>{arr}</div>
</div>
);
};
现在看起来不一样了,在你加载和卸载之前,现在它只是一个使用 class 名称的游戏,每次你加载带有动画的元素时 class 所以它开始工作