Advertisement
Guest User

Untitled

a guest
Nov 25th, 2014
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var ListItem = React.createClass({
  2.     onSelect : function() {
  3.         this.props.onSelect(this.props.user);
  4.     },
  5.     render : function() {
  6.         return (
  7.             <li onClick={this.onSelect} className={this.props.selected === this.props.user ? "selected" : ""}>
  8.                 {this.props.user.firstname} {this.props.user.lastname}
  9.             </li>
  10.         )
  11.     }
  12. });
  13.  
  14. var List = React.createClass({
  15.     onSelect: function(user) {
  16.         this.props.onSelect(user);
  17.     },
  18.     render : function() {
  19.         return (
  20.             <ul className="list">
  21.                 {this.props.users.map(function(user) {
  22.                     return <ListItem user={user} onSelect={this.onSelect} selected={this.props.selected} />
  23.                 }, this)}
  24.             </ul>
  25.         );
  26.     }
  27. });
  28.  
  29. var TabPage = React.createClass({
  30.     render : function() {
  31.         return <div className="tabpage">{this.props.user}</div>
  32.     }
  33. })
  34.  
  35. var Application = React.createClass({
  36.     getInitialState : function() {
  37.         return { selected : false }
  38.     },
  39.     onSelect : function(user) {
  40.         this.setState({ selected : user});
  41.     },
  42.     render : function() {
  43.         return (
  44.             <div>
  45.                 <List users={this.props.users} onSelect={this.onSelect} selected={this.state.selected} />
  46.                 <TabPage user={this.state.selected} />
  47.             </div>
  48.         );
  49.     }
  50. });
  51.  
  52. var users = [];
  53. for(var i = 0; i < 40; i += 1) {
  54.     users.push({
  55.         firstname : faker.name.firstName(),
  56.         lastname : faker.name.lastName(),
  57.         email : faker.internet.email()
  58.     });
  59. }
  60.  
  61. React.render(
  62.     <Application users={users} />,
  63.     document.body
  64. );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement