Cycle-JSX-IR
This is a Cycle driver which uses the fantastic JSX-IR library.
Currently only a driver for the Incremental DOM is ready.
Install
npm install cycle-jsx-ir
If you plan to use JSX you also need babel-plugin-jsx
npm install babel-plugin-jsx
See here for usage if you're not familiar.
Roadmap
- Incremental DOM Driver jsx-to-idom
- Virtual Hyperscript
- HTML Driver jsx-to-html
- Generic DOM Driver jsx-to-dom
- Nativescript Driver jsx-to-nativescript (This repo is a work in progress)
- Rule the world!
Super Basic Example
;; { let view$ = RxObservable ; return IDOM: view$ } let drivers = IDOM: ;
UI Partials
One cool feature provided by JSX-IR is to create functions that can encapsulate parts of your UI.
These are not custom elements, only resuable UI elements.
Example UI Partial
// With hyperscript { //children === [ ]; return ;} { return state$;} // With JSX { //children === [ ]; return <div className='special-partial'> <h1>propscurrentTime</h1> </div> ;} { return state$;}
UI Partials that return hyperscript can be used in JSX and partials that return JSX can be used from hyperscript!