Skip to content

Releases: facebook/react

v0.4.0

19 Jul 19:43
Compare
Choose a tag to compare

React

  • Switch from using id attribute to data-reactid to track DOM nodes. This allows you to integrate with other JS and CSS libraries more easily.
  • Support for more DOM elements and attributes (e.g., <canvas>)
  • Improved server-side rendering APIs. React.renderComponentToString(<component>, callback) allows you to use React on the server and generate markup which can be sent down to the browser.
  • prop improvements: validation and default values. Read our blog post for details...
  • Support for the key prop, which allows for finer control over reconciliation. Read the docs for details...
  • Removed React.autoBind. Read our blog post for details...
  • Improvements to forms. We've written wrappers around <input>, <textarea>, <option>, and <select> in order to standardize many inconsistencies in browser implementations. This includes support for defaultValue, and improved implementation of the onChange event, and circuit completion. Read the docs for details...
  • We've implemented an improved synthetic event system that conforms to the W3C spec.
  • Updates to your component are batched now, which may result in a significantly faster re-render of components. this.setState now takes an optional callback as it's second parameter. If you were using onClick={this.setState.bind(this, state)} previously, you'll want to make sure you add a third parameter so that the event is not treated as the callback.

JSX

  • Support for comment nodes <div>{/* this is a comment and won't be rendered */}</div>
  • Children are now transformed directly into arguments instead of being wrapped in an array
    E.g. <div><Component1/><Component2/></div> is transformed into React.DOM.div(null, Component1(null), Component2(null)).
    Previously this would be transformed into React.DOM.div(null, [Component1(null), Component2(null)]).
    If you were using React without JSX previously, your code should still work.

react-tools

  • Fixed a number of bugs when transforming directories
  • No longer re-write require()s to be relative unless specified

v0.3.3

02 Jul 20:27
Compare
Choose a tag to compare

This release addresses some small issues people were having and simplifies our tools to make them easier to use.

react-tools

  • Upgrade Commoner so require statements are no longer relativized when passing through the transformer. This was a feature needed when building React, but doesn't translate well for other consumers of bin/jsx.
  • Upgraded our dependencies on Commoner and Recast so they use a different directory for their cache.
  • Freeze our esprima dependency.

React

  • Allow reusing the same DOM node to render different components. e.g. React.renderComponent(<div/>, domNode); React.renderComponent(<span/>, domNode); will work now.

JSXTransformer

  • Improved the in-browser transformer so that transformed scripts will execute in the expected scope. The allows components to be defined and used from separate files.

v0.3.0

02 Jul 20:29
Compare
Choose a tag to compare

Initial public release