I’m setting up an image slider with thumbnail slider using this plugin in React.js: http://flexslider.woothemes.com/thumbnail-slider.html
If I add the <li>s statically it works perfectly fine:
<div id="carousel" class="flexslider">
<ul class="slides">
<li><img src="slide1.jpg" /></li>
<li><img src="slide2.jpg" /></li>
<li><img src="slide3.jpg" /></li>
<li><img src="slide4.jpg" /></li>
</ul>
</div>
However if I try to load the content dynamically, the inline styles that are dynamically calculated and added by the plugin code won’t be added to both ul and li elements (i.e width: 210px; margin-right: 5px; float: left; display: block;)
This is how I do it:
render() {
if(this.props.data){
var projects = this.props.data.projects.map(function(projects){
var projectImage = 'images/portfolio/'+projects.image;
return <li key={projects.title}>
<img alt={projects.title} src={projectImage} />
</li>
})
}
return (
<section id="portfolio">
<div id="carousel" class="flexslider">
<ul class="slides">
{projects}
</ul>
</div>
</section>
);
}
Advertisement
Answer
According to the link that you gave, the plugin requires initialization. Where are you doing your initialization?
I would recommend doing the initialization in the componentDidMount life cycle method. This is because when that code runs the <li> would have already been in DOM.