Я реализовал видеоплеер, используя Video-React:
<Player ref={(player) => { this.player = player }}>
<source src="https://media.w3.org/2010/05/sintel/trailer_hd.mp4" />
</Player>
Я пытаюсь подписаться на изменение состояния игрока, используя subscribeToStateChange
внутри componentDidMount
.
Однако this.player
равно undefined
.
componentDidMount() {
// subscribe state change
// player is undefined
this.player.subscribeToStateChange(this.handleStateChange.bind(this));
}
handleStateChange(state, prevState) {
// copy player state to this component's state
this.setState({
player: state,
currentTime: state.currentTime
});
}
Я добавил кнопку, чтобы попробовать подписку вне componentDidMount:
onTestButtonClicked() {
// subscribe state change
this.player.subscribeToStateChange(this.handleStateChange.bind(this));
}
И это работает.
Но мне нужно, чтобы это работало внутри componentDidMount
, так как это должно делаться автоматически.
Приветствуются любые предложения.