Which tool we will talk about?


no

no

autoflow.js no


yes

Just the UI


Virtual DOM


Data flow


JSX

Basic component + JSX

/** @jsx React.DOM */
var HelloMessage = React.createClass({
    render: function() {
        return <div>{'Hello ' + this.props.name}</div>;
    }
});

React.renderComponent(
    <HelloMessage name="John" />,
    document.getElementById('myapp')
);
          

Basic component


var HelloMessage = React.createClass(
    render: function() {
        return React.DOM.div(null, 'Hello ' + this.props.name);
    }
});

React.renderComponent(
    HelloMessage( {name:"John"} ),
    document.getElementById('myapp')
);
          

TODO app - I.

/** @jsx React.DOM */
var TodoList = React.createClass({
    render: function() {
        return
            <ul>
            {this.props.items.map(function(itemText) {
                return <li>{itemText}</li>;
            })}
            </ul>;
    }
});
          
/** @jsx React.DOM */
var TodoApp = React.createClass({
  onChange: function(e) {
    this.setState({text: e.target.value});
  },
  onSubmit: function(e) { ... },
  render: function() {
    return (
      <div>
        <TodoList items={this.state.items} />
        <form onSubmit={this.onSubmit}>
          <input onChange={this.onChange}
                    value={this.state.text} />
          <button>
              {'Add #' + (this.state.items.length + 1)}
          </button>
        </form>
      </div>
    );
  }
});
          

Component life-cycle methods


getInitialState()

getDefaultProps()

shouldComponentUpdate(nextProps, nextState)

Wait! It can't work.


render after each state change?

Wait! It can't work.


render after each state change?

Facebook comments

Instagram website

Signály.cz chat

Questions?

Thank you.