от которого меня отпугивает только отсутствия свойств уровня класса.
// The ES6+ way
class Video extends React.Component {
static defaultProps = {
autoPlay: false,
maxLoops: 10,
}
static propTypes = {
autoPlay: React.PropTypes.bool.isRequired,
maxLoops: React.PropTypes.number.isRequired,
posterFrameSrc: React.PropTypes.string.isRequired,
videoSrc: React.PropTypes.string.isRequired,
}
state = {
loopsRemaining: this.props.maxLoops,
}
}
'use strict';
class BaseDomWrapper{
constructor(node){
this._d = typeof node == "string" ? [].slice.call(document.querySelectorAll(node)) : node;
}
forEach(callBack){
this._d.forEach(callBack);
}
hide(){
this.forEach(function(e){
e.style.display = 'none';
})
}
show(){
this.forEach(function(e){
e.style.removeProperty('display');
})
}
}
class Slider extends BaseDomWrapper{
constructor(node){
super(node);
console.log(this._d);
}
makeRed(){
this.forEach(function(e){
e.style.backgroundColor = 'red';
})
}
}
var sl = new Slider('div.slider');
sl.makeRed();