Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Michel Weststrate, Mendix, Rotterdam — State Management is Easy

Michel Weststrate, Mendix, Rotterdam — State Management is Easy

Michel Weststrate, Mendix, Rotterdam — State Management is Easy

State is the heart of each application and there is no quicker way to create buggy, unmanageable applications then by producing inconsistent state. Hence many state management solutions try to restrict the ways in which you can modify state, for example by making state immutable. But this introduces new problems; data needs to be normalized, referential integrity can no longer be guaranteed and it becomes next to impossible to use powerful concepts like prototypes.

At Mendix these restrictions where unacceptable and so MobX was born. MobX makes state management simple again by addressing the root issue: it makes it impossible to produce an inconsistent state. This makes state management simple and scalable again.

React Amsterdam

April 21, 2016
Tweet

More Decks by React Amsterdam

Other Decks in Technology

Transcript

  1. 8

  2. 9

  3. 1. State Should Be Minimally Defined No Caching No Data

    Duplication No Cascading State Changes 12
  4. 16

  5. @observable enables MobX to observe your data @observer MobX ensures

    that this component is consistent with the state @computed MobX ensures that this value is consistent with the state 22
  6. 24

  7. Such Fast Only track data which is accessed in last

    render Minimizes amount of computations PureRenderMixin 25
  8. 28

  9. 30

  10. Scalable 31 Minimal state Graphs: natural mental model Simple code

    Architectural freedom Third party friendly actions? State views? Modify Updates
  11. State Management Is Simple! Questions? #reactamsterdam @mweststrate "I am putting

    my eggs into React and MobX basket. So far building two huge React apps I haven't had any reason to regret it." "It's almost ridiculous how simple and powerful MobX + React is" "Working with #mobx is basically a continuous loop of me going “this is way too simple, it definitely won’t work” only to be proven wrong" "Try react-mobx with es6 and you will love it so much that you will hug someone." "MobX compared to Redux feels like gravity gun compared to a wheelbarrow" "I used to be Angular guy, but seeing how observables play well with React, I would never go back to it." "I have built big app with MobX already and comparing to the one before that which was using Redux, it is simpler to read and much easier to reason about." "Cuts out much boilerplate and complexity." "The #mobx is the way I always want things to be! It's really surprising simple and fast! Totally awesome! Don't miss it!" 32