Boilerplate
Magic
Facebook Flux
Fluxible by Yahoo
Reflux
Alt
Flummox
Marty.js
McFly
Lux
Material Flux
Fynx
Fluxxor
Delorean.js
Barracks
(defn widget [data owner]
(reify
om/IRender
(render [this]
(dom/h1 nil (:text data)))))
(om/root widget {:text "Hello world!"}
{:target (. js/document (getElementById "my-app"))})
(defn some-component []
[:div
[:h3 "I am a component!"]
[:p.someclass
"I have " [:strong "bold"]
[:span {:style {:color "red"}} " and red"]
" text."]])
var GreetComponent = component(({guestCursor}) =>
<div>Hello from {guestCursor.get('name')}</div>).jsx;
const appState = immstruct({name: 'Julia');
appState.on('swap', () =>
React.render(<AppRoot state={appState} />, domTarget);
const appState = immstruct({name: 'Julia');
appState.on('next-animation-frame', () =>
React.render(<AppRoot state={appState} />, domTarget);
const appState = immstruct.withHistory({name: 'Julia');
appState.on('next-animation-frame', () =>
React.render(<AppRoot state={appState} />, domTarget);
appState.cursor('name').update(name => name + '!');
appState.undo();
appState.redo();
We're hiring! jane.com/dev
#region_us_utah
Questions?