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

7 years ago

1.0.23

7 years ago

1.0.22

7 years ago

1.0.20

7 years ago

1.0.19

7 years ago

1.0.18

7 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

8 years ago

0.5.0

8 years ago

0.4.13

8 years ago

0.4.12

8 years ago

0.4.11

8 years ago

0.4.10

8 years ago

0.4.9

8 years ago

0.4.8

8 years ago

0.4.7

8 years ago

0.4.6

8 years ago

0.4.5

8 years ago

0.4.4

8 years ago

0.4.3

8 years ago

0.4.2

8 years ago

0.4.0

8 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

9 years ago

0.3.5

9 years ago

0.3.4

9 years ago

0.3.4-minor.0

9 years ago

0.3.4-patch.0

9 years ago

0.3.3-beta.46

9 years ago

0.3.3-beta.45

9 years ago

0.3.3-beta.44

9 years ago

0.3.3-beta.43

9 years ago

0.3.3-beta.42

9 years ago

0.3.3-beta.41

9 years ago

0.3.3-beta.40

9 years ago

0.3.3-beta.39

9 years ago

0.3.3-beta.38

9 years ago

0.3.3-beta.37

9 years ago

0.3.3-beta.36

9 years ago

0.3.3-beta.35

9 years ago

0.3.3-beta.34

9 years ago

0.3.3-beta.33

9 years ago

0.3.3-beta.32

9 years ago

0.3.3-beta.31

9 years ago

0.3.3-beta.30

9 years ago

0.3.3-beta.29

9 years ago

0.3.3-beta.28

9 years ago

0.3.3-beta.27

9 years ago

0.3.3-beta.26

9 years ago

0.3.3-beta.25

9 years ago

0.3.3-beta.24

9 years ago

0.3.3-beta.23

9 years ago

0.3.3-beta.22

9 years ago

0.3.3-beta.21

9 years ago

0.3.3-beta.20

9 years ago

0.3.3-beta.19

9 years ago

0.3.3-beta.18

9 years ago

0.3.3-beta.17

9 years ago

0.3.3-beta.16

9 years ago

0.3.3-beta.6

9 years ago

0.3.3-beta.4

9 years ago

0.3.3-beta.3

9 years ago

0.3.3-beta.2

9 years ago

0.3.3-beta.1

9 years ago

0.3.3-beta.0

9 years ago

0.3.1-beta.32

9 years ago

0.3.1-beta.31

9 years ago

0.3.1-beta.30

9 years ago

0.3.1-beta.26

9 years ago

0.3.1-beta.25

9 years ago

0.3.1-beta.24

9 years ago

0.3.1-beta.23

9 years ago

0.3.1-beta.22

9 years ago

0.3.1-beta.21

9 years ago

0.3.1-beta.20

9 years ago

0.3.1-beta.19

9 years ago

0.3.1-beta.18

9 years ago

0.3.1-beta.17

9 years ago

0.3.1-beta.14

9 years ago

0.3.1-beta.13

9 years ago

0.3.1-beta.12

9 years ago

0.3.1-beta.11

9 years ago

0.3.1-beta.10

9 years ago

0.3.1-beta.9

9 years ago

0.3.1-beta.8

9 years ago

0.3.1-beta.7

9 years ago

0.3.1-beta.6

9 years ago

0.3.1-beta.5

9 years ago

0.3.1-beta.4

9 years ago

0.3.1-beta.3

9 years ago

0.3.1-beta.2

9 years ago

0.3.1-beta.1

9 years ago

0.3.1-beta.0

9 years ago

0.2.35

9 years ago

0.2.34

9 years ago

0.2.33

9 years ago

0.2.31

9 years ago

0.2.30

9 years ago

0.2.29

9 years ago

0.2.28

9 years ago

0.2.26

9 years ago

0.2.21

9 years ago

0.2.20

9 years ago

0.2.19

9 years ago

0.2.18

9 years ago

0.2.17

9 years ago

0.2.16

9 years ago

0.2.15

9 years ago

0.2.14

9 years ago

0.2.13

9 years ago

0.2.12

9 years ago

0.2.11

9 years ago

0.2.10

9 years ago

0.2.9

9 years ago

0.2.8

9 years ago

0.2.7

9 years ago

0.2.6

9 years ago

0.2.5

9 years ago

0.2.4

9 years ago

0.2.3

9 years ago

0.2.3-beta.3

9 years ago

0.2.3-beta.2

9 years ago

0.2.3-beta.0

9 years ago