Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
<script src="//fb.me/react-0.13.1.js"></script>
  <meta charset="utf-8">
  <title>React Hello World w/ JSBin</title>
</head>
<body>
  <div id="react_example"></div>
</body>
<script src="https://cdn.jsdelivr.net/lodash/4/lodash.min.js"></script>
</html>
 
class HelloWorldComponent extends React.Component {
  
  constructor(){
    super()
    this.handleChange = this.handleChange.bind(this);
    this.state = {
      "fruits":[
        {"name":"banana","value":true},
        {"name":"watermelon","value":false},
        {"name":"lemon","value":true},
      ]
    }
  }
  
  handleChange(e,key){
    const newFruitsData = this.state.fruits.map(obj => 
      obj.name === key ? obj.value = e.target.checked : ''          
    )
    
    this.setState({fruits: newFruitsData})
  }
  
  render() {
    return (
      <div>
        {this.state.fruits.map(obj => 
           <div key={obj.name}>
           <label>{obj.name}</label>
           <input onChange={(e) => this.handleChange(e, obj.name)} type="checkbox" defaultChecked={obj.value} />
            </div>
         )}
         <br />
         <pre>{JSON.stringify(this.state.fruits,null,2)}</pre>
       </div>
    );
  }
}
React.render(
  <HelloWorldComponent />,
  document.getElementById('react_example')
);
Output

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

Dismiss x
public
Bin info
anonymouspro
0viewers