javascript - 为什么 react-beautiful-dnd 在简单列表中拖放时会摇晃?
问题描述
您会在此 gif 中注意到,当我拖动一个项目时,周围的项目并没有完全移开,只有大约一半。然后,当我跌倒时,一切都会震动并卡入到位。这是为什么?我只有一个基本的 hello world 实现。
请注意,在第二张图片上,当我向下拖动时,下面的项目仅移动到一半位置,然后是丑陋的颠簸。我怎样才能使它顺利,所以一切都移到正确的位置?
这基本上是我所拥有的:
const getListStyle = (isDraggingOver) => ({
opacity: isDraggingOver ? 0.7 : 1,
});
<Droppable droppableId="droppable">
{(provided, snapshot) => (
<div
{...provided.droppableProps}
ref={provided.innerRef}
style={getListStyle(snapshot.isDraggingOver)}
>
{items.map((item, i) => (
<MyItem
key={item.id}
data={item}
index={i}
/>
))}
{provided.placeholder}
</div>
)}
</Droppable>
const MyItem = ({ data, index }) => {
return (
<Draggable key={data.id} draggableId={data.id} index={index}>
{provided => (
<section
{...provided.draggableProps}
>
<LinesIcon
className={styles.dragHandle}
ref={provided.innerRef}
{...provided.dragHandleProps}
/>
<div>content...</div>
</section>
)}
</Draggable>
)
}
我希望这些物品完全移开,正确地填充它们的空位,而不是中途。并摆脱颠簸。
解决方案
弄清楚了,这是因为我将 ref 放在了错误的可拖动项上,我需要它在最外层的父项上而不是嵌套项(拖动句柄)上。
推荐阅读
- python - 用于网格显示的 Python 图形库
- python - Python StatsModels & Appelpy:MissingDataError:exog 包含 inf 或 nans
- angular - 带有 NgRx 选择器的 RxJS groupBy 永远不会完成
- python - CPython“重载”函数
- azure-devops - Azure 发布添加工件
- javascript - 无法让 sessionStorage 正常工作
- reactjs - 如何在 github 页面上部署 react 应用程序?
- ruby-on-rails - rails 不会在没有撬动的情况下更新 ajax 请求上的会话哈希
- javascript - FullCalendar v4 - 如何在 eventSources 中获取 currentStart、currentEnd
- python - Pandas 为工作日 DateRange 操作频率