NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #1877 most downloaded on pub.dev
A library for building statically-typed React UI components using Dart.
Last release 13 days ago
22 Sep 2026
Ships fairly regularly
a new release about every 6 weeks
Nearly every release is documented
notes for 59 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
10 years old
200 releases · first in 2016
[#643] Use propsOrStateMapsEqual in memo so that function tearoffs don't cause unnecessary rerenders.
propsOrStateMapsEqual in memo so that function tearoffs don't cause unnecessary rerenders.[#641] Expose new event helper APIs. In react-dart, using the SyntheticEvent class constructors were deprecated. New event helpers were added as a rep…
SyntheticEvent class constructors were deprecated.
New event helpers were added as a replacement, and to make their usage convenient, these helpers have been exposed directly via OverReact.One column per quarter.
[#633] Add staticMeta, addUnconsumedProps, and addUnconsumedDomProps to the UiProps component base class to allow for deriving consumed props in funct
staticMeta, addUnconsumedProps, and addUnconsumedDomProps to the UiProps component base class to allow
for deriving consumed props in function components. See the Props Mixin Component Composition Doc for examples.react minimum version to 5.6.1 to pull in the Chrome 86 DDC workaround[#500] Improve error messages for boilerplate-related issues
[#621] Add WithTransition wrapper component to enable "controlled" transitions using props
hierarchicalLoggingEnabled is false[#620] Fix issue where uiForwardRef/memo components were being passed JSified props (by consuming react-dart's `forwardRef2`/`memo2`)
uiForwardRef/memo components were being passed JSified props (by consuming react-dart's forwardRef2/memo2)makeMapStateToProps/etc. arguments to connect to enable creation of closures specific to component instances[#623] Include deprecation annotations on legacy props mixins
Bug Fixes
Other Changes
[#612] Deprecate forwardRef / add uiForwardRef as its replacement
New Features
🎉 🎉 🎉 Support for function components, memo and hooks!!! 🎉 🎉 🎉
Sooooo much work from so many amazing people made this possible, but to summarize:
memo higher order component<p><br>It works like this...</p>
Define the component
mixin FancyBorderProps on UiProps {
String color;
}
UiFactory<FancyBorderProps> FancyBorder = uiFunction(
(props) {
// props is typed as a `FancyBorderProps`
// whatever you return here will be rendered
return (Dom.div()..className = 'fancy-border border-${props.color}')(
props.children,
);
},
$FancyBorderConfig, // ignore: undefined_identifier
);
Render the component (exact same consumer API as a class-based component):
import 'package:over_react/over_react.dart';
import 'fancy_border.dart'; // Where your component is defined
main() {
final renderedWidget = (FancyBorder()..color = /* some color value */)(
// put some children here!
);
react_dom.render(renderedWidget, querySelector('#idOfSomeNodeInTheDom'));
}
Other Changes
forwardRef / add uiForwardRef as its replacementAllows you to build components similar to React.PureComponent!
Library Changes:
Analyzer Plugin Changes:
Add OverReact Analyzer Plugin (beta) ⚡️
Add OverReact Analyzer Plugin (beta) ⚡️
A Dart analyzer plugin for OverReact, bringing analysis-time checks and behavior to IDEs using the Dart Analysis Server (including JetBrains IDEs and VS Code).
Functionality includes checking for issues that cause React warnings/errors at runtime, linting for best practices, adding "assists" for common edits to component syntax and boilerplate, and more!
[#498] Fix missing allowInterop call in OverReactReduxDevToolsMiddleware.handleEventFromRemote
Documentation updates
FluxUiPropsMixin example[#496] Emit a build error for mismatched components in the new boilerplate
[#494] Widen analyzer range to include 0.39.x
[#488] Add missing _ to factory assignment in boilerplate snippets
The existing boilerplate syntax will be deprecated in a future release.
Introduce new and improved component boilerplate syntax 🎉
See our migration guide for more information around these changes, including why we made them and how to convert existing components to use thew new syntax.
The existing boilerplate syntax will be deprecated in a future release.
[#469] Throw helpful error when connect, connectFlux, and forwardRef are passed an invalid component.
[#468] Allow redux.dart version 4
[#459] Add support for connected components that use w_flux stores and actions.
connected components that use w_flux stores and actions.connect/forwardRef HOC type checking:
isComponentOfType[#461] Fix accidental jsification of Map/Function Dart props in certain cases when using connect
Map/Function Dart props in certain cases when using connect[#439] Add over_react_redux example app
over_react_redux example appStrictMode componentbuilt_redux to Redux transition Docs__DEPRECATIONS:__ ErrorBoundaryMixin, ErrorBoundaryPropsMixin and ErrorBoundaryStateMixin are deprecated and will be removed in the 4.0.0 release.
ErrorBoundary that causes errors thrown within the render phase of the component lifecycle to bubble up to parent ErrorBoundary components, which resulted in entire consumer applications locking up / crashing / unmounting.
ErrorBoundaryMixin, ErrorBoundaryPropsMixin and ErrorBoundaryStateMixin are deprecated and will be removed in the 4.0.0 release.
ErrorBoundary component instead.propTypes tests^7.1.1 of the redux JS libraryrender methods that return Fragment, List, num and StringRemove dead code in UiProps.build that was unnecessarily slowing down dart2js compilation
UiProps.build that was unnecessarily slowing down dart2js compilationFix ErrorBoundary infinite loop when multiple errors are thrown at the same time during remount
ErrorBoundary infinite loop when multiple errors are thrown at the same time during remountconnect's mapStateToOwnPropsWithProps not getting calledReplace usage / mention of UiComponent2.getPropKey which had to be deprecated in the 3.1.2 release.
UiComponent2.getPropKey which had to be deprecated in the 3.1.2 release.UiComponent2.redraw with a deprecated annotation so that consumers would correctly see it as being deprecated.
Component.redraw) - instead of the newer, deprecated Component2.redraw.Fixes an issue that prevents UiComponent instances from being declared as sub-types of UiComponent2 instances via the subtypeOf argument in a Componen
UiComponent instances from being declared as sub-types of UiComponent2 instances
via the subtypeOf argument in a Component2() annotation.Restore the public getPropKey function that was accidentally made private in the 3.1.0 release.
getPropKey function that was accidentally made private in the 3.1.0 release.Restore the xmlLang, xmlSpace, y1, y2, y members that were accidentally removed from SvgProps in the 3.1.0 release.
xmlLang, xmlSpace, y1, y2, y members that were accidentally removed from SvgProps in the 3.1.0 release.The new UiComponent2 classes * replace the now deprecated UiComponent classes.
The new UiComponent2 classes<sup>*</sup> replace the now deprecated UiComponent classes.
<sup>*</sup>(UiComponent2, UiStatefulComponent2, FluxUiComponent2)
Props and state values now show up in the React DevTools just as they would if you were using React JS, and primitive values (strings, numbers, booleans) can be edited live, just like in React JS!
ReactJsComponentFactoryProxy makes it easy to use JS components with Dart!
componentWillMount</s> => componentDidMountcomponentWillReceiveProps</s> => getDerivedStateFromProps (new)componentWillUpdate</s> => getSnapshotBeforeUpdate (new)componentDidCatch / getDerivedStateFromError (new)
ErrorBoundary component out of the box that you can wrap around your components, and an ErrorBoundaryMixin that you can use as a starting point to build your own custom error boundary component!over_react_redux.dart LibraryContext API, we have built atop
the awesome redux.dart library to make it easy
to set up redux provider(s) / consumer(s) for OverReact components that enable granular, targeted updates!
webdev serve from the root of the project, and navigating to http://localhost:8080/over_react_redux/.UiComponents to UiComponent2 and importing package:over_react/over_react_redux.dart!UiComponent.render() can now return a ReactFragment (multiple children) or other values like strings and lists instead of just a single ReactElement.3.1.0 comes the end of our +dart1 / +dart2 dual releases that we have been
maintaining for over a year. Time to upgrade to Dart 2!Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →