react-awesome-slider-fw
Version:
Fork from React Awesome Slider.
35 lines (31 loc) • 832 B
JavaScript
import React, { Component } from 'react';
import PropTypes from 'prop-types';
export default function CaptionedHoc(WrappedComponent) {
return class extends Component {
static propTypes = {
screens: PropTypes.array.isRequired,
};
renderScreens() {
return this.props.screens.map((screen, index) => (
<div
key={`${this.props.name}-screen-${index}`}
data-src={screen.media}
style={{
backgroundColor: screen.backgroundColor,
}}
>
<div data-type="caption">
<p>{screen.caption}</p>
</div>
</div>
));
}
render() {
return (
<WrappedComponent {...this.props}>
{this.renderScreens()}
</WrappedComponent>
);
}
};
}