Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.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
Javascript 如何确保道具的更改仅在某个事件完成后触发渲染?_Javascript_Reactjs - Fatal编程技术网

Javascript 如何确保道具的更改仅在某个事件完成后触发渲染?

Javascript 如何确保道具的更改仅在某个事件完成后触发渲染?,javascript,reactjs,Javascript,Reactjs,当状态变量的值更改时,我正在播放通知声音。状态变量的更改由道具的更改触发。 我面临的问题是,当由于状态变量的变化而触发渲染时,同时播放通知声音,道具再次更改值,因此触发新渲染,这会导致第一个通知声音突然停止,并开始播放新声音 如何确保只有在先前的渲染完成播放声音后才触发新渲染。您可以使用PureComponent钩子ShoulComponentUpdate对渲染进行完全控制。在这里,您可以创建自己的逻辑来确定组件应该在什么条件下更新(然后重新渲染)。更多信息

当状态变量的值更改时,我正在播放通知声音。状态变量的更改由道具的更改触发。 我面临的问题是,当由于状态变量的变化而触发渲染时,同时播放通知声音,道具再次更改值,因此触发新渲染,这会导致第一个通知声音突然停止,并开始播放新声音


如何确保只有在先前的渲染完成播放声音后才触发新渲染。

您可以使用
PureComponent
钩子
ShoulComponentUpdate
渲染进行完全控制。在这里,您可以创建自己的逻辑来确定组件应该在什么条件下更新(然后重新渲染)。更多信息