【发布时间】:2021-05-19 19:50:42
【问题描述】:
我在 chrome 开发工具中不断收到此错误,但找不到修复方法。
有什么想法吗?
我的代码:
const [playing, setPlaying] = useState<boolean>(false);
const musicPlayers = useRef<HTMLAudioElement>(
new Audio("url")
);
useEffect(() => {
playing ? musicPlayers.current?.play() : musicPlayers.current?.pause();
}, [playing]);
<button
onClick={() => {
setPlaying(!playing);
}}
>
【问题讨论】:
-
playing状态是否在您的代码中某处发生了变化? -
您好,抱歉,忘记添加了
-
我的第一个直觉是播放音频的动作也会改变状态,导致音频立即暂停(因为
useEffect触发)。如果这是您更改此状态的唯一地方,也许不是那样。也许您可以通过在函数开头添加一些日志(在playing ? ...部分之前)来检查每次播放音频时useEffect被触发的次数。这可能不是问题,我只是想确定