(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
| (function (root) { | |
| var type = function (o) { | |
| // handle null in old IE | |
| if (o === null) { | |
| return 'null'; | |
| } | |
| // handle DOM elements |
| /** @jsx React.DOM */ | |
| 'use strict'; | |
| var React = require('react'); | |
| var ContentEditableLabel = React.createClass({ | |
| propTypes: { | |
| tag: React.PropTypes.func, |
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
| var PostsApi = require('webapi/posts'), | |
| // assuming the api object from the jsbin snippet | |
| Reflux = require('reflux'); | |
| var PostActions = createActions(["load", "loadError"]); | |
| // load action is invoked either from: | |
| // * top most component's componentDidMount | |
| // function in your application, or | |
| // * window.onLoad | |
| // I prefer the first strategy because that'll |
| /* bling.js */ | |
| window.$ = document.querySelector.bind(document); | |
| window.$$ = document.querySelectorAll.bind(document); | |
| Node.prototype.on = window.on = function(name, fn) { this.addEventListener(name, fn); }; | |
| NodeList.prototype.__proto__ = Array.prototype; | |
| NodeList.prototype.on = function(name, fn) { this.forEach((elem) => elem.on(name, fn)); }; |
| <!doctype html> | |
| <html><head><script src="app.js"></script></head><body></body></html> |