Want to take your software engineering career to the next level? Join the mailing list for career tips & advice Click here


A declarative, efficient, and flexible JavaScript library for building user interfaces.

Subscribe to updates I use react

Statistics on react

Number of watchers on Github 90381
Number of open issues 409
Average time to close an issue about 16 hours
Main language JavaScript
Average time to merge a PR 1 day
Open pull requests 510+
Closed pull requests 243+
Last commit about 2 years ago
Repo Created about 7 years ago
Repo Last Updated about 2 years ago
Size 132 MB
Homepage https://reactjs.org
Organization / Authorfacebook
Latest Releasev16.2.0
Page Updated
Do you use react? Leave a review!
View open issues (409)
View react activity
View on github
Fresh, new opensource launches πŸš€πŸš€πŸš€
Software engineers: It's time to get promoted. Starting NOW! Subscribe to my mailing list and I will equip you with tools, tips and actionable advice to grow in your career.
Evaluating react for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)

React Β· GitHub license npm version Coverage Status CircleCI Status PRs Welcome

React is a JavaScript library for building user interfaces.

  • Declarative: React makes it painless to create interactive UIs. Design simple views for each state in your application, and React will efficiently update and render just the right components when your data changes. Declarative views make your code more predictable, simpler to understand, and easier to debug.
  • Component-Based: Build encapsulated components that manage their own state, then compose them to make complex UIs. Since component logic is written in JavaScript instead of templates, you can easily pass rich data through your app and keep state out of the DOM.
  • Learn Once, Write Anywhere: We don't make assumptions about the rest of your technology stack, so you can develop new features in React without rewriting existing code. React can also render on the server using Node and power mobile apps using React Native.

Learn how to use React in your own project.


You can find the React documentation on the website.
It is divided into several sections:

You can improve it by sending pull requests to this repository.


We have several examples on the website. Here is the first one to get you started:

class HelloMessage extends React.Component {
  render() {
    return <div>Hello {this.props.name}</div>;

  <HelloMessage name="John" />,

This example will render Hello John into a container on the page.

You'll notice that we used an HTML-like syntax; we call it JSX. JSX is not required to use React, but it makes code more readable, and writing it feels like writing HTML. We recommend using Babel with a React preset to convert JSX into native JavaScript for browsers to digest.


React is available as the react package on npm. It is also available on a CDN.

React is flexible and can be used in a variety of projects. You can create new apps with it, but you can also gradually introduce it into an existing codebase without doing a rewrite.

The recommended way to install React depends on your project. Here you can find short guides for the most common scenarios:


The main purpose of this repository is to continue to evolve React core, making it faster and easier to use. Development of React happens in the open on GitHub, and we are grateful to the community for contributing bugfixes and improvements. Read below to learn how you can take part in improving React.

Code of Conduct

Facebook has adopted a Code of Conduct that we expect project participants to adhere to. Please read the full text so that you can understand what actions will and will not be tolerated.

Contributing Guide

Read our contributing guide to learn about our development process, how to propose bugfixes and improvements, and how to build and test your changes to React.

Good First Issues

To help you get your feet wet and get you familiar with our contribution process, we have a list of good first issues that contain bugs which have a relatively limited scope. This is a great place to get started.


React is MIT licensed.

react open issues Ask a question     (View All Issues)
  • over 3 years Add debug info for error "TypeError: Cannot read property 'getHostNode' of null"
  • over 3 years adler32 function returns incorrect checksum on Opera Presto browser
  • over 3 years Make sure that jest tests fail if an error is thrown within a jsdom event handler
  • over 3 years [Documentation] Examples on PureComponent Vs Component
  • over 3 years render() doesn't called inside HOC component with passing children
  • over 3 years [Fiber] Handle errors in callbacks
  • over 3 years React.cloneElement that gives precedence to the Child Component props
  • over 3 years ReactCSSTransitionGroup is not work
  • over 3 years [Fiber] Error handling
  • over 3 years Tutorial: please clarify use of spread properties
  • over 3 years onChange is not triggered for autocomplete in Chrome on iOS
  • over 3 years onChange in IE11 <input type="range" />
  • over 3 years htmlFor and api considerations
  • over 3 years path attribute is removed in animateMotion tag
  • over 3 years componentDidMount wouldn't not rerendering the component
  • over 3 years SetState does not handle well nested SetState calls
  • over 3 years Transferring TransitionGroup Maintenance
  • over 3 years HTML5 datepicker not updating after type change
  • over 3 years Re-add the warning about PropTypes
  • over 3 years Handling events README does not have an example that handles the eventHandler AND takes a parameter
  • over 3 years [New Docs] Set Up Localization Effort
  • over 3 years [New Docs] Wanted Guides
  • over 3 years [feature/idea] rename context(types) to implicit props(types), and merge them.
  • over 3 years [New Docs] Docs Bugs & Issues
  • over 3 years Maximum call stack size exceeded in ReactDOMComponent._updateDOMChildren
  • over 3 years "npm run lint" fails on Windows
  • over 3 years [Fiber] Formalize States
  • over 3 years [RFC] Enabling form.reset() on controlled inputs
  • over 3 years onChange event not getting triggered via selenium clear()
  • over 3 years how remove debug info from react.min.js file when publish project
react open pull requests (View All Pulls)
  • fix sample code highlight
  • Add ReactInstrumentation
  • Fix ReactServerRendering memory leak in ReactEmptyComponent
  • [WIP] New ReactPerf
  • Split React and ReactDOM from npm build.
  • ErrorBoundaries: Initial pass at the easy case of updates
  • Clarify docs on this.props.children
  • [WIP] Move child recursion to ReactReconciler
  • Added support for synthetic animation/transition events.
  • Accommodate interruption of transitions in ReactTransitionGroup
  • Started setting both props.class and props.className for DOM elements
  • Fix #5941 - Provide a way to register a last-chance exception handler
  • Update polymer children using polymer api
  • Add a warning for adding a property in the SyntheticEvent object
  • Add transition hooks to ReactCSSTransitionGroup.
  • Support Indeterminate checkboxes
  • CSSTransitionGroup don't fall back to deprecated behaviour if transition*Timeout is 0
  • #5473 warn and ignore setState and forceUpdate calls if rendered on server
  • Clarify error when passing class to render()
  • Issue #5839. Added onError event to the <source>
  • Replace REACT_ELEMENT_TYPE magicnum with Infinity.
  • support onLoad synthetic event attribute on 'object' tags
  • add support for onTransitionEnd event
  • Mouse enter and leave work consistently with disabled elements
  • Only fire input value change events when the value changes
  • Documentation for arrayOf custom item validator
  • normalize range input onChange events
  • Improve webpack documentation
  • Set value by setAttribute(value) for html input box for #4618
  • Upgrade to jest-cli@0.8 and use Jasmine2
  • Make dependencies of react package optional
  • 6049 add support for onCancel event
  • added component name to css property warnings
  • set value property explicitly for "option" element even if value is empty
  • Bug fix for issue 5202
  • Ensure 'onResponderGrant' is called after 'onResponderTerminate'
  • Disabled inputs should not respond to clicks in IE
  • Add benchling engineering articles about perf to docs
  • Fix for Issue #5468
  • [docs] keep position of "Edit on GitHub" link fixed
  • createChainableTypeChecker suggests mistyped props by case
  • Try to fix jest on travis
  • Usage of `.name|.displayName` to identify stateless functional components
  • Warn if the included mixin is undefined
  • [TestUtils] Implement type property in Simulate.<eventName>
  • Preserve order in `mergeChildMappings`
  • Create section on using React with package managers.
  • Update authors for v15
  • [Docs] Visual / improved typography
  • Fill in necessary webpack cli commands
  • Test that findDOMNode returns null inside componentWillMount
  • Warn if props obj passed into createElement / cloneElement inherits from anything other than Object
  • [Docs] Left-hand nav fixed position
  • Updated confusing sentence in thinking-in-react.md
  • [Docs] JSX category
  • [Docs] Community section
  • RFC: Convert var to let/const.
  • Add documentations for Shallow rendering of TestUtils
  • Add ReactDebugIntrospection
  • Track mounted instances with ReactDebugInstanceMap
  • Add xmlns to svg attributes.
  • Create 01-why-react.zh-TW.md
  • Ensure validateDOMNesting catches nested body elements
  • Warn when a DOM element has unsupported property
  • Re-added support for attaching events to document fragments
  • Add unknown property warning for use of `autofocus`
  • fix ReactDOM.render return type
  • Use the correct SyntheticEvent for TestUtils.Simulate
  • Properly set value and defaultValue for input and textarea
  • Attach displayName to the class methods
  • εŽ»ζŽ‰θ’«ζˆ‘δ»¬
  • Dead code eliminate React.PropTypes checkers in production
  • Fix for #6062 : Show source line number on unknown property warning
  • Remove OrderedMap and ReactPropTransferer
  • Add new primitive PropType `Symbol`
  • Elements from functional components in TestUtils should have no owner
  • Warning about unknown property happened when creating element
  • Clarify that indexes should not be used as keys
  • RFC: Move React Core Integration and Injection to the Core Repo
  • Add context/detail to missing-key warning
  • Fix for #5468: Validate proptype definitions sooner
  • Fix event handling when input name='nodeName'
  • Do not clone key and ref getter props
  • Fix #6153: Warn for PropTypes that don't exist but do exist with a di…
  • Fix flow errors
  • ReactDebugToolEventForwarderDevTool
  • Require modules from React Native as node modules.
  • Add permalink
  • Another fix for #4876, TransitionGroup errors
  • Create 04-multiple-components.ru-RU.md
  • Fix styles to prevent subtle diffing bugs, add support for vendor prefixing
  • Fire unknown prop warning when rendering client side.
  • Make it clearer that string refs are considered legacy
  • RFC: New Reconciler Infra
  • Update typescript
  • Don't warn when style value is '0'
  • refine the translation of chapter 12-context
  • Destroy data-reactid completely
  • Update shallowCompare to accept nextContext
  • Validate server markup against the DOM rather than string checksum
  • Move HTMLtoJSX page off React site
  • Add link to ReactJS.NET on server-side environments page
  • Upgrade to Jekyll 3
  • Add basic issue and PR templates
  • Update zh-docs ''more about refs"
  • Remove comment about PooledClass destructors being optional
  • Fix format of *.zh-CN.md
  • Add JSDoc comment to keep license when compiling production code
  • Remove deprecated function from tests
  • consistent owner for stateless component
  • Add xmlNS and xmlnsXlink SVG Attributes
  • Fixed sentences that had awkward translation
  • Warning about unknown property happened when creating element
  • Clarify v15.0.0 changelog note about JS component klasses
  • Made renderIntoDocument tests asynchronous.
  • ReactMultiChild: Extract mountIndex onto a wrapper object
  • Copy React ART tests and add hacks to fix them
  • jasmine 2
  • Should not rely on synchronous return value of renderIntoDocument
  • Fix undefined DOM element at transition group
  • fix mouse events when multiple ReactDOM.render
  • Add support for movementX/Y in SyntheticMouseEvent
  • Fallback to legacy set/get in old versions of FF
  • Basic react & webpack example
  • #6599 - context does not update using `unstable_renderSubtreeIntoContainer`
  • Remove setProps and replaceProps completely
  • Add React.PureComponent, inherit purity for functional components
  • fix for issue 6887
  • #6871 - Add not dev warning for ReactPerf & remove dev checking for ReactDebugTool method
  • Add a script for extracting error codes
  • Build with babel-preset-fbjs
  • RFC: Error code system
  • Replace the implementation of escapeTextContentForBrowser with escape-html
  • React (Virtual) DOM Terminology doc updated
  • Documentation to Stateless and ES6 components (tooling integration)
  • migrated 08.1-more-about-refs.md to stateless functional components
  • ES6 Porting : 'Keyed Fragments' (10.6 Create Fragments)
  • Tutorial ported to ES6 classes or stateless functions
  • Add-Ons: Animation updated with ES6 examples
  • Update Reusable Components and Forms Docs to ES6
  • [WIP] Streaming server renderer on top of existing client checksum validator
  • Docs to ES6: Displaying data & Multiple Components pages (#3710)
  • Remove injectMixin
  • Explain how to attach events more explicitly
  • Maybe fix IE autocomplete misses
  • Fixed comment mistake in Single Child example (All languages)
  • Standardise format of the three "state" questions.
  • [Fiber] Host Container Fiber and Priority Levels
  • Wait for pending transactions from ReactServerRenderingTransaction
  • Added link to HyperDev version of tutorial app (#1)
  • Remove dead HAS_SIDE_EFFECTS logic.
  • Update 03-interactivity-and-dynamic-uis.md
  • Provide a better error message when the user is using jest mocks.
  • Improve proptypes oneof warnings - Fixes #1919
  • Fixes #6153 Add case typechecking to provided props against propTypes
  • state changed events for devtools
  • Fix #6153: Warning for PropTypes with the wrong case.
  • Attach display name to method
  • Create 02.1-jsx-in-depth.ru-RU.md
  • Update 05-reusable-components.md
  • Revise ResponderTouchHistoryStore Error Handling
  • Update 04-multiple-components.md
  • change tutorial script (success & error is deprecated )
  • Warn if PropType function is called manually
  • Trigger a proper no-op warning for async state changes on server
  • Add Learning Resources section to the Community Resources on the website
  • [flow] fix flattenChildren type
  • BeforeInput is fired with a wrong text at a wrong time on IE
  • Fix #3596: Add warning for components not following proper case convention
  • Listen DOM events in each React container
  • No whitespace warning
  • [flow] isTextInputElement
  • Update example to ES6 syntax
  • Select element update
  • Improve warning in ReactUpdateQueue
  • Codemod tests from createClass to ES2015 classes
  • contentType in the handleCommentSubmit (react-tutorial)
  • fix doc for React Native mountComponent
  • add strict attribute validation to ReactNativeAttributePayload
  • Strip whitelist. Move casing warnings to dev tools
  • Update tutorial.md
  • Update tutorial.md
  • Update tutorial.md
  • Migrate input value change fix from 16.0.0-alpha
  • PropTypes: distinguish nullable from optional object field
  • Create 02-displaying-data.zh-TW.md
  • Warn for functional refs on stateless functional components
  • Microsoft Edge - easily enters a confused state via ctrl-a + keypress and crashes
  • Add note about refs on stateless components
  • ReactTransitionGroup: Refactor Code
  • Remove unused unmountIDFromEnvironment
  • Update docs zh cn
  • [Fiber] Various minor tweaks and a few big ones
  • Build distinct dev / prod & min builds
  • Create 07-forms.ru-RU.md
  • Create 06-transferring-props.ru-RU.md
  • Create 05-reusable-components.ru-RU.md
  • Propose: Reactive Stateless Components
  • Add β€œDon't Call PropTypes” warning
  • Create 02.3-jsx-gotchas.ru-RU.md
  • Create 02.2-jsx-spread.ru-RU.md
  • 7128 - React document listener memory leak fix.
  • [Fiber] Mock ReactDOM for Fiber Tests
  • [Not for commit][Fiber] Sierpinski Triangle Demo
  • Handle NaNs in quadratic example formula
  • Clarify placeholders in docs
  • Use 2 components in code example for child-parent communication
  • Avoid "Member not found" error in IE
  • Fix memory leak in ReactChildrenMutationWarningHook for SSR
  • [RFC] Proposal for ReactTestRenderer selector API
  • [docs]add advanced-performance-zh-CN.md
  • A more descriptive createElement warning
  • (Not for merge) Add a few new assertions
  • Revert temporary compatibility fixes for Devtool -> Hook
  • Added a check and warning in case shadyRoot property is present in a …
  • Optimize SFC initial mounting
  • RFC: Inline HTML rendering, replaces dangerouslySetInnerHTML
  • Yellow Box for react-dom
  • Fix Chrome number input backspace and invalid input issue
  • [Fiber] setState
  • Better debugging of `Expected props argument to be a plain object`
  • React Release Manager
  • Add displayName to methods
  • Test flow CI integration
  • Check for shady-dom
  • Request to allow controlled checkboxes to remove checked when assigned `null`
  • Returning an error if a PropType is passed to ReactPropTypes.oneOf.
  • Add playsInline as an allowed HTML property
  • Clarify taint checking for "Dangerously Set innerHTML" document
  • Test renderer traversal
  • doc: `npm ls react` is a better advice
  • Remove non-standard 'icon' property (#7430)
  • [RFC] Type ReactComponentTreeHook
  • Type ReactPropTypeLocationNames
  • Type ReactPropTypeLocations
  • Type ReactPropTypesSecret
  • Type canDefineProperty
  • Ignore bundle.js for examples
  • Use ReactPerf from react-native-renderer when in React Native
  • Use an ordered property list for inputs, fix some Chrome number input issues
  • autofocus should warn with autoFocus as alternate name
  • [Fiber] High priority work
  • Add React.PureComponent note
  • [Fiber] Separate priority field for pending updates
  • Change ReactChildrenMutationWarningHook to Object.freeze children
  • Freeze `defaultProps` in development mode
  • [Fiber] Fix initial mount starvation problems
  • Type ReactHostOperationHistoryHook
  • Adjust code to handle more availability of function.name
  • [examples] Use react-standalone
  • [docs] Use react-standalone
  • Flow type event plugins
  • Strip React.PropTypes type checking code in production
  • Implement getMockRef for ReactTestRenderer
  • Move mouse event disabling on interactive elements to SimpleEventPlugin. Related perf tweak to click handlers.
  • [Fiber] Refactor Pending Work Phase and Progressed Work
  • Warn when React DOM modified by not-React
  • Process props with Symbol key (#7552)
  • Support iframes (nested browsing contexts) in selection event handling
  • PropTypes guide
  • Fix typo in more-about-refs.md
  • [Website] [API Reference] React, ReactDOM, ReactDOMServer Reference Guides
  • Inject the previous batching strategy when rendering to string
  • Try to generate a beforeInput event for buggy composition scenarios in IE
  • "Composition vs Inheritance" and "Lifting State Up"
  • Update ref-03-component-specs.it-IT.md
  • Update ref-03-component-specs.md
  • Add support all lifecycle methods to ShallowRender
  • Add warning for shady-dom use with rendered react components in DEV
  • Fix typo
  • Fix Translation to Korean
  • Added missing HTML 5 marquee tag attributes
  • Split The Component Lifecycle into its own guide.
  • RFC ReactSlim/Modern build
  • Adds mention of handling properties on web components in docs
  • Doc on higher-order components
  • Support iframes (nested browsing contexts) in selection event handling
  • [WIP] New Docs
  • Adds the current stack addendum to warnings if element type is not valid
  • Avoid directly calling hasOwnProperty
  • Update to Flow v0.33.0
  • Added onChange/requestChange support to LinkedInput
  • Russian translation of tips
  • Fix uncontrolled input decimal point "chopping" on number inputs, and validation warnings on email inputs
  • React.createElement can also take a function
  • Clarify that `react.addons.update` is deprecated.
  • Add React.PureComponent to documentation
  • One-click benchmark runner script
  • Fix an argument name of TestUtils.renderIntoDocument
  • Tiny grammar fix in forms.md
  • [Fiber] Add top level render callbacks into ReactDOMFiber and ReactNoop
  • Fix doc for Uncontrolled Components
  • [Fiber] String refs and owner tracking
  • Add a guide on loading data asynchronously
  • Shares debugID information across modules
  • [Fiber] Full Error Boundaries
  • Add React Remote Conf 2016.
  • Don't set value prop for uncontrolled component
  • Update lists-and-keys.md
  • Changes to Forms doc
  • Fix: Remove unneeded else branches from documentation examples
  • Explain what is diefferent from a normal select.
  • support slot attribute on DOM elements for V1 shadowDom named slots p…
  • Updated tutorial.md
  • Add Flow annotations for ReactInputSelection.js
  • Correctly render placeholder for textarea in IE11
  • Refactor `precacheChildNodes` slightly
  • [NFC][Fiber] Logging protips
  • Organize conferences page + add 2
  • Fix error codes
  • [New Docs] Doc on render callbacks
  • Add CSS unitless property attribute to existing list
  • Fix white space for error code 125
  • Display which invalid type was returned
  • Bump Jest to 16
  • Replaced old refs with new callback refs
  • Correct a method param in Implementation Notes
  • Handle nested controlled events
  • Handles risky callbacks on setState. Fixes #8238
  • update react perf docs (#8060) and (#6174)
  • [docs] Component Lifecycle In Depth
  • Changing State Of Components Outside Your Hierarchy
  • Add support for Fibers in ReactDOMComponentTree and ReactTreeTraversal
  • Build infra for tracking dev-specific failures
  • [Fiber] If error is not caught, unmount entire tree
  • Clarity on constructor of Board object for tutorial.md
  • [Fiber] Add more tests and fix an issue with incremental error handling
  • [new docs] initial draft of glossary docs
  • Update Flow version to v0.34.0
  • [Fiber] Cover all findDOMNode error cases in fiber
  • [Fiber] [WIP] Get ReactComponentTreeHook working
  • Attach event listeners at the root of the tree instead of document
  • Refs between fiber and stack
  • [Docs] Fixed anchor links in Animations section
  • [Fiber] Fix findDOMNode and findAllInRenderedTree
  • Add docs for publishing a react component
  • Handle composition events in ChangeEventPlugin
  • Added link to ReactCasts channel
  • [Fiber]Fix tests for mount/update callback errors
  • Update tutorial.md
  • Removed unneeded code
  • [Fiber] Throws when rendering null at the top level
  • update example to use `this.state`
  • Update state-and-lifecycle.md
  • Update blog post link
  • [Fiber] Support SVG by adding a container stack
  • [WIP] Delete Stack Reconciler
  • [WIP][Fiber] Swap .child and .stateNode in coroutines
  • [Fiber] [Do not merge: failing] Add failing tests for coroutines
  • Warn if rendering invalid element, fixes #3726
  • Just change links in the docs for 15.4.1
  • [WIP][Fiber] React Native Fiber
  • Create react-addons-dom-factories package
  • Update nuances of ref callback calling
  • [Fiber] Clear existing text content before inserting children
  • Do not extract mouse events for children of disabled parents
  • Update typechecking-with-proptypes.md
  • Support for string and callback refs in shallow rendering
  • [Fiber] New error boundary semantics
  • [docs] Forms Documentation Improvement
  • Have jest check for window errors in a similar to console.error logs. Fix for #8260
  • [docs] Ajax Documentation
  • Fix fiber/record-tests to work on windows (slash differences)
  • Large update to tutorial.md's refactor section.
  • Update tutorial.md
  • Update tutorial.md
  • Update tutorial.md
  • [Fiber]: Fix failing test "Should increase refs with an increase in divs"
  • Tweaked captured error log slightly based on feedback
  • Add DEV mode warning
  • Add CircleCI support to 15-stable
  • Added double newline delimiters to the following functions/files:
  • Refactor `addons` folder tests to ES6
  • Document difference between Children.map & Array.map
  • Passing props to custom elements as properties instead of attributes
  • Fix ReactFiberReconciler annotation to include `PI`
  • Added circle.yml and scripts/circleci back in
  • Add specs about issue #8731
  • [Fiber] Change work priority to represent the priority of the child
  • Add benchmarking tutorial
  • Tutorial: Lifting State Up more legible
  • Fiber logs timing for HostRoot if logTopLevelRenders enabled
  • PropTypes structures
  • Pass event obj to the method
  • Resolve #8656 WebComponent 1.0 support.
  • Update test setup Windows compatible
  • [Fiber] Throw on undefined component output
  • Pass prevContext param to componentDidUpdate
  • ReactFiberStack tests
  • NOT FOR MERGE: ./scripts/fiber/find-errors to make future Umbrella task easier
  • refine test & tweak gitignore
  • [WIP][Fiber] Compute the Host Diff During Reconciliation
  • [Fiber] Warn when trying to unmount a non-root React node
  • Add failing test demonstrating progressed work bug
  • Update prettier to 1.3.1
  • [docs] Update "Profiling Components with Chrome Timeline"
  • Remove invalid css from DOMFixtures
  • Add PR #9584 to 15.6 change log
  • Add 'dom' fixture to 15.6-dev branch
  • Update webpack according to brand guidelines
  • Fix release manager version command
  • [WIP] Hydration of previously rendered server markup
  • Replace Null by defaults reflecting correct types
  • Update state-and-lifecycle.md
  • Move DOM related code to the injection
  • Improve wording for code conventions
  • Update forms docs to include info about multiple selected options
  • RFC: Remove build time extractErrors message when error codes can't be found
  • Move createInstance and createTextInstance to beginWork
  • Avoid adding trailing semicolons to inline styles.
  • Disbled eslint warning for no-extend-native.
  • Improve docs for select multiple
  • Add 'Unreleased' section to changelog; update 'contributing' docs
  • yarn prettier runs a too long command for OS windows
  • [Docs: A11y] Add accessibility docs
  • Warn if a falsy `value` prop is provided without an `onChange`
  • Add warning for checkbox with value prop but no checked prop
  • Deduplicate "unknown prop" warning to ease pain of version updates
  • setState update arrow function syntax
  • Add test for key warning at top level
  • Add React benchmarking infrastructure
  • Make createFiber use a constructor object rather than an object literal object
  • WIP Fix react dom factories
  • Use KeyboardEvent.char in the fallback logic if available
  • Remove createClass, PropTypes, DOM factories, and createMixin from React object
  • Improve warning for `React.createClass`
  • Boolean attributes no longer coerced to string
  • Insert blockquote on prop value explanation.
  • Fix missing react in create-react-class
  • Remove react proptypes references
  • Add deprecation/moved warnings to all 'React.addons.*' utilities
  • Documentation: Added ”Passing children as a key-value prop”
  • Functional doc updates
  • #9685 Updated docs for event handling
  • fix typos
  • Update reference-events.md
  • [#9712] fix <input type="number" /> value '.98' should not be equal to '0.98'.
  • Documentation: Ref Arrow function should not return assignment
  • Move Past Confs, add React Conf Brazil 2017
  • [Much WIP. Very not working.] Refactor progressed work model
  • Caution (in docs) against dispatching redux actions or triggering component updates by any other means in `componentWillUpdate`
  • [documentation website] repaints on fixed nav
  • Adds a dummy function to assist react devtools to look for minification
  • [#9627] Fix create-react-class isMounted ordering issue
  • [#9627] Fix componentWillUnmount test case in isMounted tests
  • Warn if a component's `defaultProps` is a function
  • #5626 - add onLoad and onError events to SVG element
  • R2
  • Updates inside controlled events (onChange) are sync even in async mode
  • Exposes the host container to prepareForCommit and resetAfterCommit
  • Add fragment validation function
  • Prevent incorrect options SSR hydrate mismatch, fix #11602
  • fix updateWrapper causing re-render textarea, even though their data …
  • fix: React DOM crashes when <option> contains three interpolated valu…
  • simplify performWorkOnRoot
  • Allow getDefaultProps in dev and production.
  • Component stack in SSR hydrate mismatch warnings (#10085)
  • Improve display of filenames in component stack
  • [Danger] Use the PR's mergebase for a branch in the dangerfile
  • Minimally support iframes (nested browsing contexts) in selection event handling
  • [Not for Merge] Test DangerCI integration
  • Output JUnit XML metadata for CircleCi
  • Use package.json names for AMD bundles
  • Compile the react bundle with GCC advanced mode
  • [WIP] Remove event whitelist
  • Issue #11827 Fix ShadowDOM input bug with setDefaultValue
  • WIP: suppressing error boundary logs from intentionally thrown/caught errors
  • Initial work to support advanced compilation of UMD bundles using GCC
  • Clearer ssr error message 11902
  • Introducing ReactDOM unstable_createSandboxedPortal
  • Trap click events for portal root
  • Capture and recover from errors within a single render phase
  • [WIP] Replace top-level event types with numbers
  • Ship reconciler types
  • Run benchmark trials in random order #11805
  • Interactive updates
  • Add test exercising public API to test BeforeInputEventPlugin + FallbackCompositionState
  • [Do not merge] Attach all local listeners as captured events
  • Add stack unwinding phase for handling errors
  • Add react-is package
  • Added badge for react documentation
  • Add support for using !important in inline style values
  • Add a warning for style values containing !important
  • Add warning when hydrating output from renderToStaticMarkup() #11596
  • Determine event target in Shadow DOM correctly
  • Support context components in react-test-renderer
  • Extend input type check in selection capabilities (#12062)
  • Better identify nodes in rehydration warnings
  • [WIP] This will all make sense, soon
  • Skip portals when rendering on server-side.
  • annotation typo
  • Unperformant Stringify Warning - WIP
  • Context providers and consumers should bailout on already finished work
  • [WIP] Add requestIdleCallback polyfill package
  • Regression: React 16 automatically marks first item of a mutliple select as checked
  • Remove use of Proxy for events in development
  • Turn unique key props warning more specific
  • Initialize React prop name/attribute name mapping without Map
  • [WIP] Rollup plugin node resolve 3
  • Add Netlify integration for DOM Fixtures folder
  • Improve warning message for setState-on-unmounted
  • Clumsy initial attempt at RFC #30: useRef
  • Warn if functional component accesses context object without contextTypes
  • Only pass context to functional components if contextTypes is defined
  • Fix documentation of the release process
  • create-subscription
  • Update ReactART.js
  • [react-is] [docs] specify the actual working alpha version of react-is
  • Exporting toJSON from react-test-renderer.
  • Fix jest/matchers/toWarnDev expected, actual order for jest-diff (#12285)
react questions on Stackoverflow (View All Questions)
  • React / Redux: mapStateToProps not actually mapping state to props
  • Should component writes into store in React js app?
  • Errors when integrating reactive-record with react-rails
  • React-Native: Module AppRegistry is not a registered callable module
  • React-Native passing props without using navigator?
  • Running a predefined function in NavigatorIOS React Native
  • React Flux Webpack
  • Adding material ui to a React Component
  • React in WebPack
  • integrate flow checking into react-slingshot
  • Webpack not loading SCSS with react-toolbox
  • JavaScript React event gets weirdly fired
  • React Native : target with hash string 'android-X' not found
  • react-router v2 will not transition using context.router.replace
  • Using Browserify to create React Bundle
  • Structuring the store of a localized react / redux app
  • React - Issue with syntax
  • When I learn the first react-native demo,react-native error
  • Pop to previous scene using React-Native-Scrollable-Tab-View
  • iron-meteor does not recognize react?
  • UI Components library for react native
  • How to get select element's value in react-bootstrap?
  • Using Babelify to compile React results in React Router being undefined
  • React Native iOS NavigatorIOS title font
  • Update react component without parent outside of it
  • Resetting state causing issues with React mixin
  • Dismiss Keyboard React-Native
  • React-Native and playing music from the Soundcloud API?
  • Codepush React-Native android staging release
  • Accessing React Elements (not components) for re-rendering
react latest release notes
v16.2.0 v16.2.0


  • Add Fragment as named export to React. (@clemmy in #10783)
  • Support experimental Call/Return types in React.Children utilities. (@MatteoVH in #11422)

React DOM

  • Fix radio buttons not getting checked when using multiple lists of radios. (@landvibe in #11227)
  • Fix radio buttons not receiving the onChange event in some cases. (@jquense in #11028)

React Test Renderer

  • Fix setState() callback firing too early when called from componentWillMount. (@accordeiro in #11507)

React Reconciler

  • Expose react-reconciler/reflection with utilities useful to custom renderers. (@rivenhk in #11683)

Internal Changes

v15.6.2 v15.6.2

15.6.2 (September 25, 2017)

All Packages

  • Switch from BSD + Patents to MIT license

React DOM

  • Fix a bug where modifying document.documentMode would trigger IE detection in other browsers, breaking change events. (@aweary in #10032)
  • CSS Columns are treated as unitless numbers. (@aweary in #10115)
  • Fix bug in QtWebKit when wrapping synthetic events in proxies. (@walrusfruitcake in #10115)
  • Prevent event handlers from receiving extra argument in development. (@aweary in #10115)
  • Fix cases where onChange would not fire with defaultChecked on radio inputs. (@jquense in #10156)
  • Add support for controlList attribute to DOM property whitelist (@nhunzaker in #9940)
  • Fix a bug where creating an element with a ref in a constructor did not throw an error in development. (@iansu in #10025)
v16.1.1 v16.1.1

16.1.1 (November 13, 2017)


  • Improve the warning about undefined component type. (@selbekk in #11505)

React DOM

React DOM Server

  • Don't freeze the ReactDOMServer public API. (@travi in #11531)
  • Don't emit autoFocus={false} attribute on the server. (@gaearon in #11543)

React Reconciler

Other projects in JavaScript