Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
<script src="https://cdn.rawgit.com/lodash/lodash/3.0.1/lodash.min.js"></script>
<script src="//fb.me/react-0.13.3.js"></script>
<script src="https://code.jquery.com/jquery.min.js"></script>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap-theme.min.css">
  <meta charset="utf-8">
  <title>JS Bin</title>
</head>
<body>
<div id="container"></div>
</body>
</html>
 
var PinterestLayout = React.createClass({
  getDefaultProps: function() {
    // Our layout component can split into
    // an arbitrary number of columns.
    return {
      colSize: 3,
      numCols: 4
    }
  },
  render: function() {
    // Here we'll just use Lo-dash's `chunk` method to
    // split our data into the right sized groups.
    var groups = _.chunk(this.props.items, this.props.numCols);
    // Now `groups` is an array of arrays.
    // Let's render a row for each group.
    return <div>{groups.map(this.renderRow)}</div>;
  },
  renderRow: function(row) {
    // Now `row` is just an array of four items,
    // which we can render just how you'd expect.
    return <div className="row">{row.map(this.renderItem)}</div>;
  },
  renderItem: function(item) {
    var className = "col-sm-" + this.props.colSize;
    return <div className={className}>{item}</div>;
  }
});
var Panel = React.createClass({
  render: function() {
    return (
      <div className="panel panel-default">
        <div className="panel-body">{this.props.children}</div>
      </div>
    );
  }
})
var items = _.range(1, 100).map(function(item) {
  return <Panel>{item}</Panel>;
});
var app = (
  <div className="container">
    <PinterestLayout items={items} colSize={4} numCols={3} />
  </div>
);
React.render(app, document.getElementById("container"));
Output 300px

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
BinaryMusepro
0viewers