html - TypeError:current.play不是React中的函数

标签 html reactjs audio

我正在尝试播放音频onClick来使用react,但是出现错误,我确实检查了裁判,
这是音频元素,我不知道怎么了,任何帮助将不胜感激。

import React, { useRef } from "react";


function App() {
  const audio = useRef(null);
  const playAudio = () => {
    let current = audio;
    console.log(current);
    current.play();
  };
  return (
    <div id="drum-machine">
      <div id="display" onClick={playAudio}>
        display
      </div>
      <div>
        
        <audio
          controls
          src="/media/cc0-audio/t-rex-roar.mp3"
          ref={audio}
          autoPlay
        >
          Your browser does not support the
          <code>audio</code> element.
        </audio>
      </div>
      
    </div>
  );
}

export default App;

最佳答案

current是您的引用的属性。你需要做

const playAudio = () => {
    console.log(audio.current);
    audio.current.play();
  };

关于html - TypeError:current.play不是React中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63993541/

相关文章:

objective-c - 如何产生具有特定频率的声音(并能够更改频率)

c# - 从视频文件中提取wav文件

reactjs - 如何更改 ant.design InputNumber 的背景颜色?

javascript - this.state 在函数 React JS 组件中使用时未定义

javascript - 你如何在 ReactJS 中获得突出显示的文本 (window.getSelection())

javascript - 影响相邻元素背景颜色的不透明度过渡

java - 控制媒体输出

html - 鼠标悬停时显示子子菜单

html - 显示页脚固定在右下角,默认为左侧 (CSS/HTML5)

html - 如何在 JSF 中设置本地化文本的格式