import { h, Component } from 'preact'; import videojs from 'video.js'; import 'videojs-playlist'; import 'video.js/dist/video-js.css'; const defaultOptions = { controls: true, fluid: true, }; export default class VideoPlayer extends Component { componentDidMount() { const { options, onReady = () => {} } = this.props; const videoJsOptions = { ...defaultOptions, ...options, }; this.player = videojs(this.videoNode, videoJsOptions, function onPlayerReady() { onReady(this); }); } componentWillUnmount() { const { onDispose = () => {} } = this.props; if (this.player) { this.player.dispose(); onDispose(); } } // shouldComponentUpdate() { // return false; // } render() { const { style, children } = this.props; return (
); } }