Xreact Versions Save

reactive x react = xreact

v5.0.0

6 years ago
  • React v16
  • Typescript v2.7
  • RxJS v5.5

and some devDeps...

v2.5.0

6 years ago
  • react 15.5.4
  • typescript 2.5.2

v1.1.0

7 years ago

intent$.send will now become intent$.next the same API as RxJs Subject and Most Subject

v1.0.0

7 years ago
  • rewrite in TypeScript, now its Type Safe to use react-most
  • sink$ is now update$
  • now {update$, actions} is called Machine
  • no more support for flat function as actions, all actions function need to put in machine.actions
  • you can find the machine in react-most connect component via component.machine
  • connect(blah) where blah function should be a Plan type, a Plan must return a Machine
  • compose will return a flat HoC instead of multilayer HoC, where machines are merge together

v0.8.0

7 years ago
  • a alacarte data type counter example
  • remove ramda dependency
  • upgrade to react 15.5

v0.6.3

7 years ago

v0.6.4

7 years ago

add display name for Connect wrapper

to easily debug on react chrome plugin

e.g. wrapper component's name will be Connect(Counter)

v0.6.6

7 years ago
  • upgrade rx to v5
  • upgrade most.js to fix unsubscribe issue
  • update documents and wikis

v0.6.2

7 years ago
  • connect will return a composable wrapper component
let wrapper1 = connect(i=>({inc1: ()=>({type: 'inc'})}))
let wrapper2 = connect(i=>({inc2: ()=>({type: 'inc2'})}))
wrapper1(wrapper2(CounterView))
// wrapper are simply function, so you can
let wrapper = R.compose(wrapper1, wrapper2)
wrapper(CounterView)
  • useactions as default field to define actions
    const Counter = connect(intent$=>{
      return {
        sink$: intent$.map(...),
        inc: ()=>({type:'inc'}),    // <--  these are actions, 
        dec: ()=>({type:'dec'}),  // <--  if it confuse you why they're same level with sink$
        actions: {                        // <-- now you can put all actions inside `actions` field
          inc3: ()=>({type: 'inc3'}) 
        },
      }
    })(CounterView)

v0.5.4

7 years ago
  • env NODE_ENV=debug npm test to see intent time stamp
  • time stamp include milisec
  • mergeAll([ReactClass.defaultProps, initprops, props])
const View = props => <div>hehe</div>
View.defaultProps  = {blah} // <-- 1 defaultProps
const Component = connect(blah, initprops)(View)     // <--- 2. initprops
<Component props={blah}> // <--- 3. props

piority 3>2>1