假设我有两个数组selectedFoobars
和unselectedFoobars
. 这些是我的数据,它们使用 ReactJS 呈现为彼此相邻的列表。
当用户单击其中一个列表中的元素时,我想从该列表中删除该元素,并将其添加到另一个列表的末尾。这部分使用 React 非常简单。
但是,我希望被点击的元素从它的旧位置扫过屏幕到另一个列表中的新位置。如果用户点击中间的元素,该unselectedFoobars
元素应该在页面上动画显示到selectedFoobars
列表底部。
我不只是希望移动的元素在第一个列表中淡出并在第二个列表中淡入。不过,这很容易,通过使用为 React提供动画插件的动画钩子。
这是一个 - 据我所知 - 一个需要直接修改 DOM 以获得所需结果的问题的有效示例。
使用 Backbone.js 可以轻松地手动进行 DOM 操作。这在 Backbone-world 中是直接且非常干净的,尽管需要做一些工作。在 AngularJS 中,我会创建一个指令。这将是非常单调的 Angular。但它会完成工作。
处理这种情况以及需要使用 ReactJS 进行直接 DOM 操作的类似情况的最简洁方法是什么?