React Slick Template

jsfiddle template for react slick demos

by jain208

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.24/browser.js"></script>
<script src="https://fb.me/react-with-addons-0.14.6.js"></script>
<script src="https://fb.me/react-dom-0.14.6.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-slick/0.11.0/react-slick.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.5.9/slick.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.5.9/slick-theme.css">
<script src="https://facebook.github.io/react/js/jsfiddle-integration-babel.js"></script>

<div id="container">
    <!-- This element's contents will be replaced with your component. -->
</div>

CSS

.container {
  margin: 0 auto;
  padding: 40px;
  width: 80%;
  color: #333;
  background: #419be0;
}

JavaScript 1.7

var DemoSlider = React.createClass({
	getSlides(count) {
  	var slides = [];
  	for(var i = 0; i < count; i++) {
    	slides.push((<img key={i} src='http://placekitten.com/g/400/200' />));
    }
    return slides;
  },

  render: function() {
  	var settings = {
    	dots: false,
      infinite: false,
      slidesToShow: 3,
      slidesToScroll: 3
    }
    
    var slides = this.getSlides(this.props.count);
    
    return (
    	<div className='container'>
      	<Slider {...settings}>
        	{ slides }
        </Slider>
      </div>
    );
  }
});

var ReactSlickDemo = React.createClass({ 
	getInitialState() {
  	return {
	    count: 20
    }
  },
  setSlides() {
  	this.setState({
    	count: Math.ceil(Math.random(0, 1) * 30)
    })
  },
	render: function() {
  	return (<div>
          	<h2>{ this.state.count } slides</h2>
    	<DemoSlider count={this.state.count}/>
      <button onClick={this.setSlides}>Click</button>
    </div>)
  }
})

ReactDOM.render(
  <ReactSlickDemo />,
  document.getElementById('container')
);