javascript - 你能帮我处理 JSX 和 React 吗?
问题描述
我在 react.js 上做了一个音乐播放器,但我有一个问题,它是我的代码:
const Player = () => {
const audio = new Audio('https://z1.fm//download/17440536')
audio.load();
audio.autoplay = false
return (
<div className="player-box">
<div className="MainPlayer">
<i className="fa fa-backward player-btn"/>
<i
onClick={ () => {
audio.play()
}
} className='fa fa-play player-btn'/>
<i
onClick={ () => {
audio.pause()
}
} className='fa fa-pause player-btn'/>
<i className="fa fa-forward player-btn" />
<i className="fa fa-random player-btn"/>
<i className="fa fa-refresh player-btn"/>
<input type="range" className="slider" id="myRange"/>
</div>
</div>
)
}
/// 我想做单次播放/暂停按钮,但是当我这样做时,我有很多音频错误,它播放 2 次,但只停止 1 次,我怎样才能杀死这个错误?
解决方案
如果您的代码代表 ReactJS 组件,那么您可以尝试这样的事情:
class AudioPlayer extends React.Component {
constructor(props) {
this.audioPlayer = new Audio(props.initialSource);
this.audioPlayer.load();
}
render() {
<div className="player-box">
<div className="MainPlayer">
<i className="fa fa-backward player-btn"/>
<i
onClick={this.onTogglePlayClick}
className='fa fa-play player-btn'
/>
<i className="fa fa-forward player-btn" />
<i className="fa fa-random player-btn"/>
<i className="fa fa-refresh player-btn"/>
<input type="range" className="slider" id="myRange"/>
</div>
</div>
}
onTogglePlayClick() {
const audioPlayer = this.audioPlayer;
if (audioPlayer.paused) {
audioPlayer.play();
} else {
audioPlayer.pause();
}
}
}
推荐阅读
- react-native - 如何将 Redux 存储中的数据传递给 tabBarComponent(3.x)?
- javascript - Js - 在并行函数中使用数组变量
- powershell - Powershell检查文件是否存在并将其替换为新副本
- sql-server - 如何在 PowerBI 中比较两个日期之间的数据?
- c# - 使用 WPF 打开新窗口
- bash - 如何使用 for 循环在多个文件上运行 sed -i?
- vb.net - VB.NET 如何获取 BackgroundImage 的名称?
- qt - 如何从 QGraphicsItemGroup 中正确删除项目
- node.js - 节点红色阻止 Azure 事件中心访问
- linux - sed:打印带有时间和 ls -altr 信息的目录树