mobx-react already forbids currently to change the state inside the render function of a component. This is done internally through the function mobx.extras.allowStateChanges(false, block).
In the next minor version of MobX, 2.2, a new feature will be added: the action function / decorator can be used to wrap around all your actions. If you then run MobX in strict mode, it will throw on any attempt to mutate state outside of actions.