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://cdnjs.cloudflare.com/ajax/libs/mobx/3.2.2/mobx.umd.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/mobx-react/4.2.2/index.js"></script>
  <div id="app" />
</body>
 
const { observable } = mobx;
const { observer } = mobxReact;
const { Component } = React;
@observer 
class ParentComponent extends Component {
  @observable isBusy = false;
  handleBusy = () => {
    this.isBusy = true;
  }
  render() {
    const { isBusy, handleBusy } = this;
    return <div>
      <ChildComponent onClick={handleBusy}/>
      <button disabled={isBusy}> Parent Button </button>
    </div>;
  }
}
@observer 
class ChildComponent extends Component {
  render() {
    const { onClick } = this.props;
    return <div>
      <button onClick={onClick}> Child Button </button>
    </div>;
  }
}
ReactDOM.render(
  <ParentComponent />,
  document.getElementById('app')
);
Output

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

Dismiss x
public
Bin info
anonymouspro
0viewers