Stanislav Ivanov
Simple, scalable state management
defines observable
observable(value)@observable classProperty = valuevalue
could be js primitive, reference, plain object, class instance, array and map
tracks observable
autorun(function)@computed get propertyName() {// return value based on other observables}
import { observable } from 'mobx';class Store {@observable name = '';}const store = new Store();
import { observer } from 'mobx-react';@observerclass View extends React.Component {render() {return <div>{store.name}</div>}}
import { observer } from 'mobx-react';const View = observer(() => <div>{store.name}</div>)
@action method() {// change observable state}@action.bound method() {// binds method (useful in react components)}
Use this jsbin as starting point
http://jsbin.com/yibeqox/edit?js,output