为什么 onDrop 事件会自动重新渲染所有内容?

Why is onDrop event automatically re-rendering everything?

似乎 'onDrop' 事件正在强制更新组件。 我想自己控制更改和更新。

drop 事件以异步方式更新状态数据,因为涉及到一些延迟加载。 完成所有更改后,我希望在父级上显式调用 onChanged 回调,但到那时已经执行了不必要的重新渲染。

有没有办法阻止这种自动重新渲染?

难道 shouldComponentUpdate 不需要状态中的一些骇人听闻的 'isDroping' 标记吗? 否则它只是在比较数据,不是吗?这不是更新的真正作用吗?

您可以使用shouldComponentUpdate来控制您的组件是否重新渲染;这 需要围绕您的拖动维护内部 state/logic,这可能是必要的,具体取决于您的情况。

话虽如此,听起来您的代码中可能还有其他问题。如果渲染的数据真的没有区别,React 应该足够聪明,不会重新渲染。

我的错。我忘了在另一个 (dragEnd) 事件上停止传播