Video-React: невозможно подписаться на состояние проигрывателя, поскольку проигрыватель не определен

Я реализовал видеоплеер, используя 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, так как это должно делаться автоматически.
Приветствуются любые предложения.


person AG_HIHI    schedule 25.12.2020    source источник