reduxjs/react-redux
### [`v6.0.0`](https://renovatebot.com/gh/reduxjs/react-redux/releases/v6.0.0)
[Compare Source](https://renovatebot.com/gh/reduxjs/react-redux/compare/v5.1.1...v6.0.0)
🎉 This is our first big release supporting the new Context API added in React 16.4! No more [blocked updates](https://renovatebot.com/gh/ReactTraining/react-router/blob/master/packages/react-router/docs/guides/blocked-updates.md)!
As such, we now require React 16.4 or higher. Make sure to update your version when updating to this release.
This work has been mostly lead by [@cellog](https://renovatebot.com/gh/cellog) and [@markerikson](https://renovatebot.com/gh/markerikson), with special guest appearances by yours truly and a whole cast of helpful reviewers.
> **Note**: If you'd like to know more about the changes in v6, and how the implementation has changed over time, see Mark's post **[Idiomatic Redux: The History and Implementation of React-Redux](https://blog.isquaredsoftware.com/2018/11/react-redux-history-implementation/)**.
>
> ##### Breaking Changes
- The `withRef` option to `connect` has been replaced with `forwardRef`. If `{forwardRef : true}` has been passed to `connect`, adding a ref to the connected wrapper component will actually return the instance of the wrapped component. (Known issue: [Redux Form currently relies on `withRef`](https://renovatebot.com/gh/erikras/redux-form/pull/4216).)
- Passing `store` as a prop to a connected component is no longer supported. Instead, you may pass a custom `context={MyContext}` prop to both `` and ``. You may also pass `{context : MyContext}` as an option to `connect`.
##### Behavior Changes
Any library that attempts to access the store instance out of legacy context will break, because we now put the store state into a `` instead. Examples of this include `connected-react-router` and `react-redux-subspace`. (The current implementation does also put the store itself into that same context. While accessing the store in context is not part of our public API, we will still try to make it possible for other libraries to access it, with the understanding that this could break at any time.)
Also, there is a behavior change around dispatching actions in constructors / `componentWillMount`. Previously, dispatching in a parent component's constructor would cause its children to immediately use the updated state as they mounted, because each component read from the store individually. In version 6, all components read the same current store state value from context, which means the tree will be consistent and not have "tearing". This is an improvement overall, but there may be applications that relied on the existing behavior.
#### [Changes](https://renovatebot.com/gh/reduxjs/react-redux/compare/v5.1.0...v6.0.0)
- Use React.createContext() ([#1000](https://renovatebot.com/gh/reduxjs/react-redux/issues/1000) by [@cellog](https://renovatebot.com/gh/cellog))
- Use Prettier ([#1071](https://renovatebot.com/gh/reduxjs/react-redux/issues/1071) by [@NMinhNguyen](https://renovatebot.com/gh/NMinhNguyen))
- Only run isValidElementType in development builds ([#1069](https://renovatebot.com/gh/reduxjs/react-redux/issues/1069) by [@alexreardon](https://renovatebot.com/gh/alexreardon))
- Treat `null` as a valid plain object prototype in `isPlainObject()` ([#1075](https://renovatebot.com/gh/reduxjs/react-redux/issues/1075) by [@rgrove](https://renovatebot.com/gh/rgrove))
- Ensure connectAdvanced only re-renders if derived props change ([#1079](https://renovatebot.com/gh/reduxjs/react-redux/issues/1079) by [@epeli](https://renovatebot.com/gh/epeli) and [@markerikson](https://renovatebot.com/gh/markerikson))
Renovate configuration
:date: Schedule: At any time (no schedule defined).
:vertical_traffic_light: Automerge: Enabled.
:recycle: Rebasing: Whenever PR becomes conflicted, or if you modify the PR title to begin with "rebase!".
:no_bell: Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Renovate Bot. View repository job log here.
This PR contains the following updates:
^5.0.7
->^6.0.0
Release Notes
reduxjs/react-redux
### [`v6.0.0`](https://renovatebot.com/gh/reduxjs/react-redux/releases/v6.0.0) [Compare Source](https://renovatebot.com/gh/reduxjs/react-redux/compare/v5.1.1...v6.0.0) 🎉 This is our first big release supporting the new Context API added in React 16.4! No more [blocked updates](https://renovatebot.com/gh/ReactTraining/react-router/blob/master/packages/react-router/docs/guides/blocked-updates.md)! As such, we now require React 16.4 or higher. Make sure to update your version when updating to this release. This work has been mostly lead by [@cellog](https://renovatebot.com/gh/cellog) and [@markerikson](https://renovatebot.com/gh/markerikson), with special guest appearances by yours truly and a whole cast of helpful reviewers. > **Note**: If you'd like to know more about the changes in v6, and how the implementation has changed over time, see Mark's post **[Idiomatic Redux: The History and Implementation of React-Redux](https://blog.isquaredsoftware.com/2018/11/react-redux-history-implementation/)**. > > ##### Breaking Changes - The `withRef` option to `connect` has been replaced with `forwardRef`. If `{forwardRef : true}` has been passed to `connect`, adding a ref to the connected wrapper component will actually return the instance of the wrapped component. (Known issue: [Redux Form currently relies on `withRef`](https://renovatebot.com/gh/erikras/redux-form/pull/4216).) - Passing `store` as a prop to a connected component is no longer supported. Instead, you may pass a custom `context={MyContext}` prop to both `Renovate configuration
:date: Schedule: At any time (no schedule defined).
:vertical_traffic_light: Automerge: Enabled.
:recycle: Rebasing: Whenever PR becomes conflicted, or if you modify the PR title to begin with "
rebase!
".:no_bell: Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Renovate Bot. View repository job log here.