Advertisement
Guest User

Untitled

a guest
Aug 24th, 2016
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.94 KB | None | 0 0
  1. import { observer, inject } from 'mobx-react';
  2.  
  3. export function connect(selectorFunction, component) {
  4. return inject(selectorFunction)(observer(component));
  5. }
  6.  
  7. import React from 'react';
  8. import { connect } from 'utils';
  9.  
  10. const selector = (stores) => {
  11. console.log(stores);
  12. return {
  13. counter: stores.counterStore.counter,
  14. double: stores.counterStore.double,
  15. increment: stores.counterStore.increment
  16. };
  17. };
  18.  
  19. const Counter = ({ counter, double, increment }) => {
  20. console.log(increment);
  21. return (
  22. <div className="counter">
  23. <p>{ counter }</p>
  24. <p className="double">{ double }</p>
  25. <button onClick={increment}>+1</button>
  26. </div>
  27. );
  28. };
  29.  
  30. export default connect(selector, Counter);
  31.  
  32. import { observable, computed, action } from 'mobx';
  33.  
  34. export default class Counter {
  35. @observable counter = 0;
  36.  
  37. @action
  38. increment = () => {
  39. this.counter++;
  40. }
  41.  
  42. @computed
  43. get double() {
  44. return this.counter * 2;
  45. }
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement