我应该如何构造这个 ReactJS 代码以使用 ReactDOM /getDOMNode()
而不是 jQuery。按下按钮时会播放声音。
不确定我是否应该放入.play()
并myAudioObject
通过 Refs 访问它,或者以其他方式...将 Refs 与.getDomNode()
into一起传递myPlayButton
。
另外,使用 jQuery 的方式是我认为下面的 ReactJS 不好的做法吗?
var myAudioObject = React.createClass({
render: function() {
return (
<audio id="mySoundClip" preload="auto">
<source src='audio/thing.mp3'></source>
Your browser does not support audio.
</audio>
);
}
});
var myPlayButton = React.createClass({
handleClickPlay: function() {
var audio = $("#mySoundClip")[0];
audio.load(); // This reloads the audio tag in the DOM, so also reloads ReactJS component.
audio.play();
},
render: function() {
return (
<button onClick={this.handleClickPlay}>Play</button>
);
}
});
var App = React.createClass({
render: function() {
return (
<div>
<myAudioObject />
<myPlayButton />
</div>
);
}
});
React.renderComponent((
<App />
), document.body);