Есть объект со стилями
const styles = {
'@global': {
'.slider-gallery.slick-slider': {
'& .slick-arrow': {
width: '200px',
height: '200px'
},
'& .slick-arrow.slick-prev': {
backgroundPosition: 'center center',
'&:before': {
display: 'none'
}
},
'& .slick-arrow.slick-next': props => ({
background: `url(${props.imgLeft})`,
'&:before': {
display: 'none'
}
}),
}
}
};
Хочу передавать ему значение с background из компонента:
let b64 = '';
class SliderGallery extends Component {
constructor(props) {
super(props);
}
componentDidMount() {
const icon = document.querySelector('.slick-slider__icon_left');
const xml = new XMLSerializer().serializeToString(icon);
const svg64 = btoa(xml);
const b64Start = 'data:image/svg+xml;base64,';
b64 = b64Start + svg64;
}
render() {
let { settings, children } = this.props;
return (
<React.Fragment>
<Slider {...settings}>
{ children }
</Slider>
<Icon
name={'chevronleftblack'}
className={'slick-slider__icon_left'}
/>
</React.Fragment>
)
}
}
SliderGallery.defaultProps = {
imgLeft: b64
};
export default withStyles(styles)(SliderGallery);
Я понимаю, что так я его не передам. Потому, что не происходит обновления компонента. Как правильно это сделать ?