为什么 onDrop 事件会自动重新渲染所有内容?
Why is onDrop event automatically re-rendering everything?
似乎 'onDrop' 事件正在强制更新组件。
我想自己控制更改和更新。
drop 事件以异步方式更新状态数据,因为涉及到一些延迟加载。
完成所有更改后,我希望在父级上显式调用 onChanged 回调,但到那时已经执行了不必要的重新渲染。
有没有办法阻止这种自动重新渲染?
难道 shouldComponentUpdate 不需要状态中的一些骇人听闻的 'isDroping' 标记吗?
否则它只是在比较数据,不是吗?这不是更新的真正作用吗?
您可以使用shouldComponentUpdate来控制您的组件是否重新渲染;这 将 需要围绕您的拖动维护内部 state/logic,这可能是必要的,具体取决于您的情况。
话虽如此,听起来您的代码中可能还有其他问题。如果渲染的数据真的没有区别,React 应该足够聪明,不会重新渲染。
我的错。我忘了在另一个 (dragEnd) 事件上停止传播
似乎 'onDrop' 事件正在强制更新组件。 我想自己控制更改和更新。
drop 事件以异步方式更新状态数据,因为涉及到一些延迟加载。 完成所有更改后,我希望在父级上显式调用 onChanged 回调,但到那时已经执行了不必要的重新渲染。
有没有办法阻止这种自动重新渲染?
难道 shouldComponentUpdate 不需要状态中的一些骇人听闻的 'isDroping' 标记吗? 否则它只是在比较数据,不是吗?这不是更新的真正作用吗?
您可以使用shouldComponentUpdate来控制您的组件是否重新渲染;这 将 需要围绕您的拖动维护内部 state/logic,这可能是必要的,具体取决于您的情况。
话虽如此,听起来您的代码中可能还有其他问题。如果渲染的数据真的没有区别,React 应该足够聪明,不会重新渲染。
我的错。我忘了在另一个 (dragEnd) 事件上停止传播