react
Bindings of the ReactJS library for building interactive interfaces.
7.3.2
25K downloads/mo
#2001 most downloaded on pub.dev
cleandart/react-dart
What this package is like to depend on
Last release 5 months ago
12 Mar 2026
Ships fairly regularly
a new release about every 4 months
Some releases are documented
notes for 47 of 117 stable releases
Nothing withdrawn
no release was ever pulled
13 years old
119 releases · first in 2013
1 release in the last 12 months
see the full history below
Release timeline
119 releases · Nov 2013 to Mar 2026Releases
latest 60 of 119-
7.3.212 Mar 2026Release notes
Open source →Info
Build: (waiting for build to complete)
Skynet Results: (waiting for Skynet results)
Pipeline: (waiting for pipeline to start)
This patch release includes the following changes:Miscellaneous
-
#426 Update dependencies to allow analyzer 10
-
#427 RM-351452 Release react-dart 7.3.2
- RM-351452 RELEASE react-dart 7.3.2
Notes created on Thursday, March 12 12:22 PM UTC
-
-
7.3.125 Aug 2025Release notes
Open source →Info
Build: (waiting for build to complete)
Skynet Results: (waiting for Skynet results)
Pipeline: (waiting for pipeline to start)
This patch release includes the following changes:Miscellaneous
-
#420 FED-3927 Fix failing test on Dart 3
- FED-3927 Fix failing test on Dart 3
-
#421 no_entrypoint_imports
-
#422 FED-4060 Set up gha-dart-oss
- FED-4060 Set up gha-dart-oss in react-dart
-
#423 RM-327375 Release react-dart 7.3.1
- RM-327375 RELEASE react-dart 7.3.1
Notes created on Monday, August 25 07:19 PM UTC
-
-
7.3.017 Apr 2025Release notes
Open source →Info
Build: (waiting for build to complete)
Skynet Results: (waiting for Skynet results)
Pipeline: (waiting for pipeline to start)
This minor release includes the following changes:New Features and Improvements
- #409 FED-3253 Officially support Dart 3
- FED-3253 react-dart - Officially support Dart 3
- #414 FED-3283: React 18 js files
- FED-3283 R17 + R18 Dual Support: Create React 18 Bundle
Miscellaneous
-
#410 Raise the build_web_compilers dependency max to v5.0.0
-
#411 Raise the meta dependency min to v1.16.0
-
#415 RM-288881 Release react-dart 7.3.0
- RM-288881 RELEASE react-dart 7.3.0
Notes created on Thursday, April 17 10:58 PM UTC
Release notes
Open source →- Add new, opt-in React 18 JS files (see README for more info)
- The preexisting JS files that use React 17 are now deprecated, and will be removed in the next major version, 8.0.0.
- Raise SDK constraint from
<3.0.0to<4.0.0, run CI on Dart 3
- #409 FED-3253 Officially support Dart 3
-
7.2.007 Oct 2024Release notes
Open source →Info
Build: (waiting for build to complete)
Skynet Results: (waiting for Skynet results)
Pipeline: (waiting for pipeline to start)
This minor release includes the following changes:Miscellaneous
- #406 FED-3207 Add react lazy
- FED-3207 Add react lazy to react-dart
- #408 RM-270006 Release react-dart 7.2.0
- RM-270006 RELEASE react-dart 7.2.0
Notes created on Monday, October 07 09:41 PM UTC
- #406 FED-3207 Add react lazy
-
7.1.309 Jul 2024Release notes
Open source →Info
Build: (waiting for build to complete)
Skynet Results: (waiting for Skynet results)
Pipeline: (waiting for pipeline to start)
This patch release includes the following changes:New Features and Improvements
- #404 FEDX-973 Remove Workiva Build files
- FEDX-973 Remove Dockerfile & Skynet.yaml from react-dart
Miscellaneous
- #405 RM-264497 Release react-dart 7.1.3
- RM-264497 RELEASE react-dart 7.1.3
Notes created on Tuesday, July 09 04:44 PM UTC
- #404 FEDX-973 Remove Workiva Build files
-
7.1.207 Jun 2024Release notes
Open source →Info
Build: https://ci.webfilings.com/build/6021395
Skynet Results: https://wf-skynet-hrd.appspot.com/apps/test/smithy/6021395/latest
Pipeline: https://w-rmconsole.appspot.com/release/pipeline/5557689202114560/
This patch release includes the following changes:Miscellaneous
-
#400 Add CDN publish back temporarily
-
#401 RM-264468 Release react-dart 7.1.2
- RM-264468 RELEASE react-dart 7.1.2
Notes created on Friday, June 07 06:38 PM UTC
-
-
7.1.004 Mar 2024Release notes
Open source →Info
Build: https://ci.webfilings.com/build/5608638
Skynet Results: https://wf-skynet-hrd.appspot.com/apps/test/smithy/5608638/latest
Pipeline: https://w-rmconsole.appspot.com/release/pipeline/5500228848451584/
This minor release includes the following changes:Miscellaneous
- #384 FED-2298 Add ReactNode typedef
- FED-2298 Add ReactNode typedef to react-dart
- #385 RM-226888 Release react-dart 7.1.0
- RM-226888 RELEASE react-dart 7.1.0
Notes created on Monday, March 04 07:03 PM UTC
Release notes
Open source →Add a new
ReactNodetype, which aliasesObject?to mimic the React JS Typescript type. - #384 FED-2298 Add ReactNode typedef
-
7.0.010 Nov 2023Release notes
Open source →Info
Build: https://ci.webfilings.com/build/5181196
Skynet Results: https://wf-skynet-hrd.appspot.com/apps/test/smithy/5181196/latest
Pipeline: https://w-rmconsole.appspot.com/release/pipeline/5755607302930432/
This major release includes the following changes:Miscellaneous
-
#378 Dart 2.19
-
#379 FED-1850 Add Dart 2.19 to GHA matrix
- FED-1850 Add Dart 2.19 to GHA matrix
-
#380 RM-217585 FED-1716 Release react-dart 7.0.0 (null-safety)
- FED-1716 react-dart null safety
- RM-217585 RELEASE react-dart 7.0.0
Notes created on Friday, November 10 05:49 PM UTC
Release notes
Open source →- Migrate to null safety
- Remove deprecated APIs (see below)
- Minor API breakages to support null safety migration and improve typing (see below)
-
-
6.3.010 Oct 2023Release notes
Open source →- [#372], [#374] Add and update deprecations in preparation for 7.0.0 release, add WIP changelog
- [#372] Add APIs in preparation for null safety:
htmlMain- replacement for deprecatedreact.main, to be removed in 7.0.0useRefInit-useRefcan't be used to create non-nullable-typed refs, butuseRefInitcan
-
6.2.125 Sep 2023 -
6.2.021 Apr 2023Release notes
Open source →- [#357] Export Suspense component
- [#354] Raise analyzer minimum & unpin meta
- [#355] Pin mockito 5
- [#356] Unpin mockito, fix CI
-
6.1.806 Dec 2022 -
6.1.711 Aug 2022Release notes
Open source →- [#344] Fix identityHashCode error when forwarding props containing JSX children
-
6.1.630 Mar 2022 -
6.1.525 Mar 2022 -
6.1.401 Nov 2021Release notes
Open source →- [#327] Fix stable ci build
- [#328] Work around $identityHash being added to JS objects passed into jsifyAndAllowInterop
-
6.1.301 Nov 2021Release notes
Open source →- [#308] Bump elliptic from 6.5.3 to 6.5.4
- [#311] Bump ssri from 6.0.1 to 6.0.2
- [#312] Bump lodash from 4.17.20 to 4.17.21
- [#313] Bump browserslist from 4.16.1 to 4.16.6
- [#318] Bump path-parse from 1.0.6 to 1.0.7
- [#323] Raise the Dart SDK minimum to at least 2.11.0
- [#315] Upgrade CI to run using Dart 2.13
- [#309] Update README.md
- [#325] Upgrade dependency_validator
-
6.1.230 Aug 2021Release notes
Open source →- [#321] Fix missing Dart component names in error boundary
componentStack
- [#321] Fix missing Dart component names in error boundary
-
6.1.119 Aug 2021 -
6.1.003 Aug 2021 -
6.0.117 Feb 2021 -
6.0.015 Jan 2021Release notes
Open source →This stable, major release of react includes:
ReactJS 17.x Support
The underlying
.jsfiles provided by this package are now ReactJS version17.0.1. -
5.7.125 Nov 2020Release notes
Open source →- [#289] Update most deprecations that were slated for removal in v6.0.0 to be slated for removal in v7.0.0 instead. To keep the migration to v6.0.0 as easy as possible, only APIs that are known to be completely unused will be removed in v6.0.0. Therefore, most APIs that were marked for removal in v6.0.0 will remain until the v7.0.0 release. This PR updated deprecation annotations to reflect this.
- [#287] Deprecate
SyntheticEvent.isFormEvent. Because form events do not exist as their own type in ReactJS, this helper will be removed in v6.0.0. Instead, check for the expected form event types.
-
5.7.009 Nov 2020Release notes
Open source →- [#282] Add
SyntheticEventhelpers that eliminate the need to use synthetic event class constructors. Additionally, added utilities to assist in type checking events without manually using theiskeyword.
- [#282] Add
-
5.6.105 Oct 2020Release notes
Open source →- [#280] Update React dev JS files to include a workaround to a DDC bug when using Chrome 86+ (fixed in Dart 2.9.3)
-
5.6.010 Sep 2020Release notes
Open source →- [#275] Add
forwardRef2/memo2to fix "jsification" of Dart props- Deprecates
forwardRef/memo
- Deprecates
- [#274] (Security update) Bump serialize-javascript JS dependency to version
3.1.0
- [#275] Add
-
5.5.108 Sep 2020Release notes
Open source →- [#258] Exclude
propTypesfrom Dart2js output.- Deprecate
registerComponent.- Accidentally overlooked when
Componentwas deprecated
- Accidentally overlooked when
- Deprecate
- [#276] Allow null ref value in
useImperativeHandlehook
- [#258] Exclude
-
5.5.010 Aug 2020Release notes
Open source →New Features
-
🎉 🎉 🎉 Support for function components, memo and hooks!!! 🎉 🎉 🎉
Sooooo much work from so many amazing people made this possible, but to summarize:
- [#221] Add support for function components
- [#252] Add support for
memohigher order component - Hooks, hooks, and more hooks!
- [#223] useState
- [#233] useCallback
- [#237] useContext
- [#227] useEffect
- [#248] useLayoutEffect
- [#232] useReducer
- [#245] useRef
- [#250] useMemo
- [#247] useImperativeHandle
- [#246] useDebugValue
<p><br>It works like this...</p>
Define the component:
import 'package:react/react.dart' as react; final SomeWidget = react.registerFunctionComponent(_SomeWidget, displayName: 'SomeWidget'); _SomeWidget(Map props) { // You can use hooks in here, too! return react.div({}, [ // Some children... ]); }Render the component (exact same consumer API as a class-based component):
import 'package:react/react_dom.dart' as react_dom; import 'some_widget.dart'; // Where your component is defined main() { final renderedWidget = SomeWidget({ // put some props here }, [ // put some children here! ]); react_dom.render(renderedWidget, querySelector('#idOfSomeNodeInTheDom')); }Check out all the function component and hooks examples for more information!
Fixes / Updates
- [#253] Deprecate
setClientConfiguration.- It is no longer necessary - and can be removed from your implementations
- [#273] Make
JsBackedMap.valuescompatible with MSIE 11
-
-
5.4.022 Jul 2020Release notes
Open source →New Features
- [#244] Add support for HTML Composition events
- [#263] Add support for
SyntheticEvent.persist()
Fixes / Updates
- [#261] Stop errors thrown within the call stack of
Component.render()from being swallowed - [#256] Documentation updates (thanks @barriehadfield !!!)
JS Dependency Updates
- [#255] Bump acorn from
6.4.0to6.4.1 - [#260] Bump lodash from
4.17.15to4.17.19
-
5.3.006 Jan 2020Release notes
Open source →- Unpin the react-redux JS dependency to allow versions
7.1.1and higher. - Run over_react tests as part of the CI process to prevent another situation where changing JS dependencies
regressed tightly coupled libs like
over_react_redux(like the one that required the 5.2.1 hotfix). - [#242] Implement StrictMode Component
- Unpin the react-redux JS dependency to allow versions
-
5.2.111 Dec 2019Release notes
Open source →- Temporarily pin react-redux dependency to version
7.1.0to prevent widespread test failures as a result ofProviderbeing converted into a function component with hooks.
- Temporarily pin react-redux dependency to version
-
5.2.010 Dec 2019Release notes
Open source →- [#190] Fix null value handling in
setStateWithUpdater - [#235] Fix null value handling in
getDerivedStateFromErrorinterop - [#238] Fix js package security vulnerability
- [#236] Expose
componentZoneto allow overriding the zone in which Component2 lifecycle methods are run, for testing
- [#190] Fix null value handling in
-
5.1.115 Nov 2019 -
5.1.008 Nov 2019Release notes
Open source →Full ReactJS 16.x Component Lifecycle Support
- The new
Component2class replaces the now deprecatedComponentclass.- Faster
- Improved dev experience
- Easier to maintain
- Easier integration with JS libs
ReactJsComponentFactoryProxymakes it easy to use JS components with Dart!
- Supports new lifecycle methods, allowing us to use Concurrent Mode in the future
- <s>
componentWillMount</s> =>componentDidMount - <s>
componentWillReceiveProps</s> =>getDerivedStateFromProps(new) - <s>
componentWillUpdate</s> =>getSnapshotBeforeUpdate(new) componentDidCatch/getDerivedStateFromError(new)- Adds support for error boundaries.
- <s>
- "Portals provide a first-class way to render children into a DOM node that exists outside the DOM hierarchy of the parent component."
Improved, stable Context API
- "Context provides a way to pass data through the component tree without having to pass props down manually at every level. … Context is primarily used when some data needs to be accessible by many components at different nesting levels. Apply it sparingly because it makes component reuse more difficult."
- "A common pattern in React is for a component to return multiple elements. Fragments let you group a list of children without adding extra nodes to the DOM."
- Component.render can now return Fragments (multiple children) or other values like strings and lists instead of just a single ReactElement
New and improved ref API: React.createRef
React Redux is now included in the JS bundles and exposed via
window.ReactRedux. - The new
-
5.0.108 Nov 2019Release notes
Open source →Pull in 4.9.2 changes that were accidentally reverted as part of 5.0.0.
- [#220] Fix bug where reading
dataTransfersometimes threw during synthetic event conversion
- [#220] Fix bug where reading
-
5.0.005 Nov 2019Release notes
Open source →ReactJS 16.x Support
- The underlying
.jsfiles provided by this package are now ReactJS version 16. - Support for the new / updated lifecycle methods from ReactJS 16 will be released in version
5.1.0.
- The underlying
-
5.0.0-alpha.104 Oct 2019 pre-releaseNothing published for this version
-
5.0.0-alpha.030 Sep 2019 pre-releaseNothing published for this version
-
4.9.210 Oct 2019Release notes
Open source →- [#220] Fix bug where reading
dataTransfersometimes threw during synthetic event conversion
- [#220] Fix bug where reading
-
4.9.120 Aug 2019Release notes
Open source →- [#205] Fix
contextsetter typing to match getter and not failimplicit_casts: false
- [#205] Fix
-
4.9.006 Aug 2019Release notes
Open source →- [#202] Add bindings for transition / animation events
- [#198] Updates in preparation for 5.0.0 release
-
4.8.129 Jul 2019Release notes
Open source →- [#197] Fix Dart component callback refs with typed arguments not working in Dart 2
dynamic ref argument (worked):
non-dynamic ref argument (did not work):Foo({'ref': (ref) => _fooRef = ref})Foo({'ref': (FooComponent ref) => _fooRef = ref})
- [#197] Fix Dart component callback refs with typed arguments not working in Dart 2
dynamic ref argument (worked):
-
4.8.014 May 2019Release notes
Open source →- [#181]: Remove unnecessary zoning on event handlers that interferes with testing
-
Handlers triggered by real events will now always be called in the root zone.
In most cases, handlers were already running in the root zone, so this should not affect behavior. See [#179] for more details.
-
When testing, you previous had to bind event handlers or callbacks triggered by event handlers to zones when using
expectorexpectAsync.var renderedInstance = renderIntoDocument( Button({}, { 'onButtonPress': Zone.current.bindUnaryCallback(expectAsync((e) { // ... }, reason: 'onButtonPress not called')), 'onClick': Zone.current.bindUnaryCallback((e) { expect(e.defaultPrevented, isTrue); }), }), ); // ... Simulate.click(buttonNode);Now, handlers will be called in the zone they're triggered from, which makes testing events easier and more predictable:
var renderedInstance = renderIntoDocument( Button({}, { 'onButtonPress': expectAsync((e) { // ... }, reason: 'onButtonPress not called'), 'onClick': (e) { expect(e.defaultPrevented, isTrue); }, }), ); // ... Simulate.click(buttonNode);
-
- [#181]: Remove unnecessary zoning on event handlers that interferes with testing
-
4.7.107 May 2019 -
4.7.001 May 2019Release notes
Open source →- [#162]: Add
jsifyAndAllowInterop, deprecate some obsolete JS utils:- Deprecate
jsify,setProperty, andgetProperty; use versions fromdart:js_utilinstead - Deprecate
EmptyObject; usenewObjectfromdart:js_utilinstead
- Deprecate
- [#170]: Reformat with line length of 120 for better readability
- [#162]: Add
-
4.6.208 Mar 2019Release notes
Open source →-
[#162]: Important Deprecations
These deprecations are being put in place to prepare consumers for the upcoming
5.0.0release which will include support for React JS version 16.xreact_server.dartand Dart VM server-side rendering- Server-side rendering via
react_dom_server.dart, though untested, is still in place
- Server-side rendering via
- Legacy
contextAPIs isMountedreact_test_utils.SimulateNative- String
Component.refs Component.replaceStatesComponent.bindComponent.transferComponentState
-
[#155]: Clean the lint trap.
-
-
4.6.126 Feb 2019Release notes
Open source →- [#159]: Update the type for [unconverted js
styleprop map][#153] to beMap<String, dynamic>.
- [#159]: Update the type for [unconverted js
-
4.6.008 Feb 2019Release notes
Open source →- [#152]: Format all files using
dartfmt. - [#153]: New
unconvertJsPropsutility function.
- [#152]: Format all files using
-
4.5.019 Oct 2018 -
4.4.213 Jul 2018Nothing published for this version
-
4.4.110 May 2018Nothing published for this version
-
4.4.009 May 2018Nothing published for this version
-
4.3.028 Feb 2018Nothing published for this version
-
4.2.014 Dec 2017Nothing published for this version
-
4.1.004 Oct 2017Nothing published for this version
-
4.0.028 Aug 2017Nothing published for this version
-
3.7.028 Feb 2018Nothing published for this version
-
3.6.018 Sep 2017Nothing published for this version
-
3.5.014 Sep 2017Nothing published for this version
-
3.4.523 Aug 2017Nothing published for this version