Skip to content

Releases: reactive-react/xreact

Major Version updates for depedencies

01 Feb 11:26
1b856d9
Compare
Choose a tag to compare
  • React v16
  • Typescript v2.7
  • RxJS v5.5

and some devDeps...

bump react and typescript

02 Sep 14:00
e249124
Compare
Choose a tag to compare
  • react 15.5.4
  • typescript 2.5.2

Subject use `next` method

11 May 15:29
85ba35e
Compare
Choose a tag to compare

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

🎉 v1.0 released with Braking Changes

10 May 15:51
c2784b4
Compare
Choose a tag to compare
  • 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

upgrade react and remove some deps

24 Apr 06:02
ea905e8
Compare
Choose a tag to compare
  • a alacarte data type counter example
  • remove ramda dependency
  • upgrade to react 15.5

upgrade deps

09 Dec 04:07
2b706e3
Compare
Choose a tag to compare
  • upgrade rx to v5
  • upgrade most.js to fix unsubscribe issue
  • update documents and wikis

v0.6.4

09 Dec 04:10
a118c7b
Compare
Choose a tag to compare

add display name for Connect wrapper

to easily debug on react chrome plugin

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

recover with identity if reducer throw error, so other reducer can still work without block by it

09 Dec 04:11
f8ca549
Compare
Choose a tag to compare

connnect is now **composable**

22 Nov 13:50
901cf9e
Compare
Choose a tag to compare
  • 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)

log intent stamp only in debug mode

16 Nov 11:43
4393cd1
Compare
Choose a tag to compare
  • 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