Will Klein
Design systems developer advocate. Co-organizer @ReactDenver. Full-time dad. I ❤️ ice cream.
Will Klein
A JavaScript library for building user interfaces
...you program these modular components
and they encapsulate everything
your component needs to worry about...
...then, at the end of a component event loop,
what comes out of it is this set of mutations
that need to be applied to the DOM or
some backing tree structure.
- Jordan Walke, JavaScript Jabber 146
JSX
props & state
lifecycle methods, i.e. render, shouldComponentUpdate
no callback spaghetti when done right
XML-like
inversion of traditional templates
optional, but ultimately preferrable
  <SomeComponent text="Some value here!" />
  <p>This is regular HTML.</p>
  <AnotherComponent
    size={ size /* JS expression here */ } />similar to attributes on an HTML element
provide an API to configure the component
read-only to the component
  /* some JSX in the parent component */
  <SomeComponent text="Some value here!" />
  /* some code in the component */
  var text = this.props.text;internal state
can setState() within the component
typically affects render output
  /* set state */
  this.setState({
    formattedDate: this._getformmattedDate()
  });
  /* read state */
  var formattedDate = this.state.formattedDate;@willslab
http://willkle.in
By Will Klein
HTML5 Denver, Feb 16, 2015 & HartfordJS, Mar 5, 2015
Design systems developer advocate. Co-organizer @ReactDenver. Full-time dad. I ❤️ ice cream.