Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 为什么onDrop事件会自动重新渲染所有内容?_Reactjs - Fatal编程技术网

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

Reactjs 为什么onDrop事件会自动重新渲染所有内容?,reactjs,Reactjs,“onDrop”事件似乎正在强制更新组件。 我想自己控制更改和更新 drop事件以异步方式更新状态数据,因为其中涉及一些延迟加载。 当所有更改完成后,我希望显式地调用父级上的onChanged回调,但此时已经执行了不必要的重新呈现 有没有办法防止这种自动重新渲染 难道组件更新不应该要求该州的某个“isDroping”旗王吗? 否则它只会分散数据,不是吗?这不是更新真正的功能吗?您可以使用它来控制组件是否重新呈现;这将需要在拖动周围维护内部状态/逻辑,这可能是必要的,具体取决于您的情况 话虽如此,

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

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

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

难道组件更新不应该要求该州的某个“isDroping”旗王吗? 否则它只会分散数据,不是吗?这不是更新真正的功能吗?

您可以使用它来控制组件是否重新呈现;这将需要在拖动周围维护内部状态/逻辑,这可能是必要的,具体取决于您的情况


话虽如此,听起来您的代码中可能还有其他东西。如果呈现的数据确实没有差异,React应该足够智能,不会重新呈现。

我的坏。我忘了在另一个(dragEnd)事件中停止播放

我在理解“shouldComponentUpdate”策略时遇到问题。我更新了问题以解决这一困惑。@RuiFortes我稍微更新了我的答案。在JSBin中有一个单独的例子会非常有帮助,因为我怀疑这里可能发生了其他事情,导致react重新渲染。你说得对……我忘了阻止Dragent事件