【发布时间】:2020-05-18 07:47:48
【问题描述】:
状态改变时,元素根据当前数组切换位置。我想添加一个动画来显示交换发生的过渡是否有一种简单的方法可以做到这一点。
const bubbleSort = async () => {
let arr = test;
for(let i=0;i<arr.length;i++){
for(let j=0;j<arr.length-1-i;j++){
setActiveIndex([j,j+1]);
if(arr[j]>arr[j+1]){
let temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
await sleep(1000);
setTest([...arr]);
}
setSortedIndex(test.length-1-i);
}
【问题讨论】:
-
我认为您可以使用 componentDidUpdate 对上一个和当前状态执行某些操作,以使用“oldArr”和“newArr”重新呈现页面,然后设置动画输入/输出的特定选择器。但我没有自己测试。
-
如果上述建议有效,请发布您的解决方案
-
你看起来像这样吗?images.app.goo.gl/29tJLLGHw7L4nTqu5
-
嗨 @Alex 是的,我正在寻找类似的东西,但有一个交换动画
-
嗨@MatanSanbira 我不确定在这里做什么,如果你能重现解决方案,你可以发布一些东西谢谢
标签: javascript html css reactjs css-animations