Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE HTML>
<body>
<script src="https://fb.me/react-with-addons-0.14.7.min.js"></script>
<script src="https://fb.me/react-dom-0.14.7.min.js"></script>
<script src="https://npmcdn.com/mobx@2.4.2/lib/mobx.umd.js"></script>
<script src="https://npmcdn.com/mobx-react@3.0.0/index.js"></script>
  <div id="app" />
</body>
 
const {observable, asMap} = mobx;
const {observer} = mobxReact;
@observer
class App extends React.Component {
  @observable book = asMap({
    name: 'The Secret', 
    language: 'English'
  });
  addYear = () => {
    this.book.set('year', '2006');
  };
  render() {
     const year = this.book.get('year');
     return <div> 
       <div>Name: {this.book.get('name')}</div>
       <div>Language: {this.book.get('language')}</div>
       {year ? <div>Published Year: {year}</div> : null}
       <button onClick={this.addYear}> Add Year </button>
     </div>;
  }
}
ReactDOM.render(
  <App />,
  document.getElementById('app')
);
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