我想通过“父级”组件同时播放一个音频和一个视频。
import React, { Component } from "react";
class VideoPlayer extends Component {
state = {};
render() {
return (
<video muted>
<source src={this.props.sourceVideo} type="video/mp4" />
</video>
);
}
}
class AudioPlayer extends Component {
state = {};
render() {
return (
<audio>
<source src={this.props.sourceAudio} type="audio/mpeg" />
</audio>
);
}
}
class Parent extends Component {
state = {};
playBoth() {
// What else?
}
render() {
return (
<div>
<VideoPlayer sourceVideo="video.mp4" />
<AudioPlayer sourceAudio="soundtrack.mp3" />
<button onClick={this.playBoth} />
</div>
);
}
}
export default Parent;
实现这一目标的“反应方式”是什么?
我知道在做出反应时,数据会向下流。因此,如果我做对了,应该:
父组件中有一个playVideoHandler()
,并将其传递给
子组件:<VideoPlayer
playVideo={this.playVideoHandler}/>
。
在VideoPlayer组件中,将引用传递给<video>
元素,添加到props.sourceVideo
函数中。这将使我回到处理逻辑的父组件中。
如果最终拥有组件,那么拥有组件的意义何在? 将所有内容传递回父组件。.
我什至认为整个事情对吗?我应该把它们分开吗 分成两个部分,如果最后它们要同时播放 时间?