1.1.1 • Published 7 years ago

@react-mvi/core v1.1.1

Weekly downloads
2
License
MIT
Repository
github
Last release
7 years ago

@react-mvi/core

react-mvi is Model-View-Intent based minimal framework with Reactjs and RxJS.

  • We remove all shouldComponentUpdate from React by create each props as RxJS.Observable.
  • We built more redux user friendly Model-View-Intent framework than cyclejs.
  • Asynchronous process is no more problem, StateHandler make it easy and clean.
  • Command line tool has been prepared! as @react-mvi/cli

Inspired by
cyclejs
redux
react-combinators
react-reactive-toolkit

First look !

import * as React from 'react';
import { Observable } from 'rxjs/Rx';
import { Tags as T, store, intent, connect } from '@react-mvi/core';

/**
 * Intent is converter that convert dispatched event to Observable.
 */
@intent
class Intent {
  plus() { return this.intent.for('counter::plus').share();}

  minus() { return this.intent.for('counter::minus').share(); }
}

/**
 * Store is Observable state factory.
 */
@store
class Store {
  initialize() {
    return {
      view: {
        counter: this.intent.plus().mapTo(1)
          .merge(this.intent.minus().mapTo(-1))
          .scan((acc, e) => {
            return acc + e;
          }, 0)
      }
    };
  }
}

/**
 * Root component must decorated by connect like redux.
 */
@connect({
  mapIntentToProps(intent) {
    return {
      onPlus: intent.callback('counter::plus'),
      onMinus: intent.callback('counter::minus'),
    }
  }
})
class View extends React.Component {
  render() {
    return (
      <div>
        <button onClick={this.props.onPlus}>Plus</button>
        <button onClick={this.props.onMinus}>Minus</button>
        /* We can treat Observable value directly. */
        <T.Div>conter value is {this.props.counter}</T.Div>
      </div>
    );
  }
}

render(
  <Provider intent={Intent} store={Store}><View /></Provider>,
  document.querySelector('#app')
);

Guide

Architecture

architecture

Requirements

  • react >= 15.0.0 <= 15.6.1
  • react-dom >= 15.0.0 <= 15.6.1
  • rxjs >= 5.0.0 <= 5.4.2
1.1.1

7 years ago

1.1.0

7 years ago

1.0.114

7 years ago

1.0.113

7 years ago

1.0.112

7 years ago

1.0.111

7 years ago

1.0.110

7 years ago

1.0.109

7 years ago

1.0.108

7 years ago

1.0.107

7 years ago

1.0.106

7 years ago

1.0.105

7 years ago

1.0.104

7 years ago

1.0.103

7 years ago

1.0.102

7 years ago

1.0.101

7 years ago

1.0.100

7 years ago

1.0.99

7 years ago

1.0.98

7 years ago

1.0.97

7 years ago

1.0.96

7 years ago

1.0.95

7 years ago

1.0.94

7 years ago

1.0.93

7 years ago

1.0.92

7 years ago

1.0.91

7 years ago

1.0.90

7 years ago

1.0.89

7 years ago

1.0.88

7 years ago

1.0.87

7 years ago

1.0.86

7 years ago

1.0.85

7 years ago

1.0.84

7 years ago

1.0.83

7 years ago

1.0.82

7 years ago

1.0.81

7 years ago

1.0.80

7 years ago

1.0.79

7 years ago

1.0.78

7 years ago

1.0.77

7 years ago

1.0.76

7 years ago

1.0.75

7 years ago

1.0.74

7 years ago

1.0.73

7 years ago

1.0.72

7 years ago

1.0.71

7 years ago

1.0.70

7 years ago

1.0.69

7 years ago

1.0.68

7 years ago

1.0.67

7 years ago

1.0.66

7 years ago

1.0.65

7 years ago

1.0.64

7 years ago

1.0.63

7 years ago

1.0.62

7 years ago

1.0.61

7 years ago

1.0.60

7 years ago

1.0.59

7 years ago

1.0.58

7 years ago

1.0.57

7 years ago

1.0.56

7 years ago

1.0.55

7 years ago

1.0.54

7 years ago

1.0.53

7 years ago

1.0.52

7 years ago

1.0.51

7 years ago

1.0.50

7 years ago

1.0.49

7 years ago

1.0.48

7 years ago

1.0.47

7 years ago

1.0.46

7 years ago

1.0.45

7 years ago

1.0.44

7 years ago

1.0.43

7 years ago

1.0.42

7 years ago

1.0.41

7 years ago

1.0.40

7 years ago

1.0.39

7 years ago

1.0.38

7 years ago

1.0.37

7 years ago

1.0.36

7 years ago

1.0.35

7 years ago

1.0.33

7 years ago

1.0.32

7 years ago

1.0.31

7 years ago

1.0.30

7 years ago

1.0.29

7 years ago

1.0.28

7 years ago

1.0.27

7 years ago

1.0.26

7 years ago

1.0.25

7 years ago

1.0.24

8 years ago

1.0.23

8 years ago

1.0.22

8 years ago

1.0.20

8 years ago

1.0.19

8 years ago

1.0.18

8 years ago

1.0.17

8 years ago

1.0.16

8 years ago

1.0.15

8 years ago

1.0.14

8 years ago

1.0.13

8 years ago

1.0.12

8 years ago

1.0.11

8 years ago

1.0.10

8 years ago

1.0.9

8 years ago

1.0.8

8 years ago

1.0.7

8 years ago

1.0.6

8 years ago

1.0.5

8 years ago

1.0.4

8 years ago

1.0.2

8 years ago

1.0.1

8 years ago

1.0.0

8 years ago

0.7.34

8 years ago

0.7.33

8 years ago

0.7.32

8 years ago

0.7.31

8 years ago

0.7.30

8 years ago

0.7.29

8 years ago

0.7.28

8 years ago

0.7.27

8 years ago

0.7.26

8 years ago

0.7.25

8 years ago

0.7.24

8 years ago

0.7.23

8 years ago

0.7.22

8 years ago

0.7.21

8 years ago

0.7.20

8 years ago

0.7.19

8 years ago

0.7.18

8 years ago

0.7.17

8 years ago

0.7.16

8 years ago

0.7.15

8 years ago

0.7.14

8 years ago

0.7.13

8 years ago

0.7.12

8 years ago

0.7.11

8 years ago

0.7.10

8 years ago

0.7.9

8 years ago

0.7.8

8 years ago

0.7.7

8 years ago

0.7.6

8 years ago

0.7.5

8 years ago

0.7.4

8 years ago

0.7.3

8 years ago

0.7.2

8 years ago

0.7.1

8 years ago

0.7.0

9 years ago

0.5.0

9 years ago

0.4.13

9 years ago

0.4.12

9 years ago

0.4.11

9 years ago

0.4.10

9 years ago

0.4.9

9 years ago

0.4.8

9 years ago

0.4.7

9 years ago

0.4.6

9 years ago

0.4.5

9 years ago

0.4.4

9 years ago

0.4.3

9 years ago

0.4.2

9 years ago

0.4.0

9 years ago

0.3.38

9 years ago

0.3.37

9 years ago

0.3.36

9 years ago

0.3.33

9 years ago

0.3.32

9 years ago

0.3.31

9 years ago

0.3.30

9 years ago

0.3.29

9 years ago

0.3.28

9 years ago

0.3.27

9 years ago

0.3.26

9 years ago

0.3.24

9 years ago

0.3.23

9 years ago

0.3.22

9 years ago

0.3.21

9 years ago

0.3.20

9 years ago

0.3.19

9 years ago

0.3.18

9 years ago

0.3.17

9 years ago

0.3.16

9 years ago

0.3.15

9 years ago

0.3.14

9 years ago

0.3.13

9 years ago

0.3.12

9 years ago

0.3.11

9 years ago

0.3.10

9 years ago

0.3.9

9 years ago

0.3.8

9 years ago

0.3.6

10 years ago

0.3.5

10 years ago

0.3.4

10 years ago

0.3.4-minor.0

10 years ago

0.3.4-patch.0

10 years ago

0.3.3-beta.46

10 years ago

0.3.3-beta.45

10 years ago

0.3.3-beta.44

10 years ago

0.3.3-beta.43

10 years ago

0.3.3-beta.42

10 years ago

0.3.3-beta.41

10 years ago

0.3.3-beta.40

10 years ago

0.3.3-beta.39

10 years ago

0.3.3-beta.38

10 years ago

0.3.3-beta.37

10 years ago

0.3.3-beta.36

10 years ago

0.3.3-beta.35

10 years ago

0.3.3-beta.34

10 years ago

0.3.3-beta.33

10 years ago

0.3.3-beta.32

10 years ago

0.3.3-beta.31

10 years ago

0.3.3-beta.30

10 years ago

0.3.3-beta.29

10 years ago

0.3.3-beta.28

10 years ago

0.3.3-beta.27

10 years ago

0.3.3-beta.26

10 years ago

0.3.3-beta.25

10 years ago

0.3.3-beta.24

10 years ago

0.3.3-beta.23

10 years ago

0.3.3-beta.22

10 years ago

0.3.3-beta.21

10 years ago

0.3.3-beta.20

10 years ago

0.3.3-beta.19

10 years ago

0.3.3-beta.18

10 years ago

0.3.3-beta.17

10 years ago

0.3.3-beta.16

10 years ago

0.3.3-beta.6

10 years ago

0.3.3-beta.4

10 years ago

0.3.3-beta.3

10 years ago

0.3.3-beta.2

10 years ago

0.3.3-beta.1

10 years ago

0.3.3-beta.0

10 years ago

0.3.1-beta.32

10 years ago

0.3.1-beta.31

10 years ago

0.3.1-beta.30

10 years ago

0.3.1-beta.26

10 years ago

0.3.1-beta.25

10 years ago

0.3.1-beta.24

10 years ago

0.3.1-beta.23

10 years ago

0.3.1-beta.22

10 years ago

0.3.1-beta.21

10 years ago

0.3.1-beta.20

10 years ago

0.3.1-beta.19

10 years ago

0.3.1-beta.18

10 years ago

0.3.1-beta.17

10 years ago

0.3.1-beta.14

10 years ago

0.3.1-beta.13

10 years ago

0.3.1-beta.12

10 years ago

0.3.1-beta.11

10 years ago

0.3.1-beta.10

10 years ago

0.3.1-beta.9

10 years ago

0.3.1-beta.8

10 years ago

0.3.1-beta.7

10 years ago

0.3.1-beta.6

10 years ago

0.3.1-beta.5

10 years ago

0.3.1-beta.4

10 years ago

0.3.1-beta.3

10 years ago

0.3.1-beta.2

10 years ago

0.3.1-beta.1

10 years ago

0.3.1-beta.0

10 years ago

0.2.35

10 years ago

0.2.34

10 years ago

0.2.33

10 years ago

0.2.31

10 years ago

0.2.30

10 years ago

0.2.29

10 years ago

0.2.28

10 years ago

0.2.26

10 years ago

0.2.21

10 years ago

0.2.20

10 years ago

0.2.19

10 years ago

0.2.18

10 years ago

0.2.17

10 years ago

0.2.16

10 years ago

0.2.15

10 years ago

0.2.14

10 years ago

0.2.13

10 years ago

0.2.12

10 years ago

0.2.11

10 years ago

0.2.10

10 years ago

0.2.9

10 years ago

0.2.8

10 years ago

0.2.7

10 years ago

0.2.6

10 years ago

0.2.5

10 years ago

0.2.4

10 years ago

0.2.3

10 years ago

0.2.3-beta.3

10 years ago

0.2.3-beta.2

10 years ago

0.2.3-beta.0

10 years ago