Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
<script src="//code.jquery.com/jquery.min.js"></script>
<link href="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.min.css" rel="stylesheet" type="text/css" />
<script src="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>
<!-- uncomment for React master
<script src="http://react.zpao.com/builds/master/latest/react.min.js"></script>
-->
<script src="//fb.me/react-with-addons-0.11.0.js"></script>
  <meta charset="utf-8">
  <title>JS Bin</title>
</head>
<body>
</body>
</html>
 
/** @jsx React.DOM */
var mappable = function(component){
  return function(x, i){
    return component({key: i}, x);
  }
}
var map2d = function(m1, m2, xss){
  return xss.map(function(xs, i, arr){
    return m1(xs.map(m2), i, arr);
  });
}
var td = mappable(React.DOM.td);
var tr = mappable(React.DOM.tr);
var th = mappable(React.DOM.th);
var titles = "foo bar baz".split(" ");
var rows = [
  ['a', 'b', 'c'],
  ['d', 'e', 'f']
];
var App = React.createClass({
  render: function(){
    return (
      <table className="table">
        <thead>{titles.map(th)}</thead>
        <tbody>{map2d(tr, td, rows)}</tbody>
      </table>
    );
  }
});
React.renderComponent(<App />, document.body);
Output

This bin was created anonymously and its free preview time has expired (learn why). — Get a free unrestricted account

Dismiss x
public
Bin info
anonymouspro
0viewers