mobx2

by li yatang

HTML

<script src="https://unpkg.com/react@15/dist/react.min.js"></script>
<script src="https://unpkg.com/react-dom@15/dist/react-dom.min.js"></script>
<script src="https://unpkg.com/mobx@3/lib/mobx.umd.js"></script>
<script src="https://unpkg.com/mobx-react@4"></script>
<script src="https://unpkg.com/mobx-react-devtools@4"></script>
<body>
  <div id="appContainer">

  </div>
</body>

Babel + JSX

const {observable, computed, autorun} = mobx;
const {observer} = mobxReact;
const {Component} = React;

class Demo {
    @observable name = '12323';
}

const demo = new Demo();

let renderTime = 0;

autorun(() => {
	console.log('demo name:', demo.name)
});

@observer
class DemoView extends Component {
    render() {
        return <div>
            {demo.name}
            <div>render time {renderTime ++}</div>
        </div>
    }
}



setTimeout(() => {
	demo.name = 'lalla';
}, 2000);

ReactDOM.render(<DemoView/>, document.getElementById('appContainer'));