Skip to content

build(deps): bump react-redux from 7.2.1 to 7.2.4#4784

Merged
dependabot[bot] merged 1 commit intomasterfrom
dependabot/npm_and_yarn/react-redux-7.2.4
Jun 7, 2021
Merged

build(deps): bump react-redux from 7.2.1 to 7.2.4#4784
dependabot[bot] merged 1 commit intomasterfrom
dependabot/npm_and_yarn/react-redux-7.2.4

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github Jun 4, 2021

Bumps react-redux from 7.2.1 to 7.2.4.

Release notes

Sourced from react-redux's releases.

v7.2.4

This release drops our dependency on the core redux package by inlining bindActionCreators, and tweaks useSelector to ensure that selectors aren't run an extra time while re-rendering.

Changelog

Redux Dependency Removal

React-Redux has always imported the bindActionCreators utility from the core redux package for use in connect. However, that meant that we had to have a peer dependency on redux, and this was the only reason we actually required that redux be installed. This became more annoying with the arrival of Redux Toolkit, which has its own dependency on redux internally, and thus users typically saw peer dependency warnings saying that "redux isn't listed as a dependency in your app".

Code reuse across separate packages is a great thing, but sometimes the right thing to do is duplicate code. So, we've inlined bindActionCreators directly into React-Redux, and we've completely dropped the dependency on Redux. This means that React-Redux will no longer produce a peerDep warning when used with Redux Toolkit, and <Provider> and connect really only need a Redux-store-compatible value to work right.

useSelector Fixes

Users reported that useSelector was re-running selector functions again unnecessarily while rendering after a dispatch. We've tweaked the logic to ensure that doesn't happen.

useSelector also now has checks in development to ensure that selector and equalityFn are functions.

Changes

reduxjs/react-redux@v7.2.3...v7.2.4

v7.2.3

This release improves behavior in useSelector by returning the existing reference if the newly returned selector result passes the equality check, and adds a hard dependency on the @types/react-redux package to ensure TS users always have the typedefs installed.

Changes

useSelector Results Reuse

Issue #1654 reported that useSelector was returning new references from a selector even if the equality comparison function returned true. This is because the equality check was only ever being performed during the action dispatch process.

We now run the equality comparison against the value calculated by the selector while rendering, and return the existing reference for consistency if the old and new values are considered equal. This should improve some cases where further derived values where being recalculated unnecessarily.

TS Types Now Included

React-Redux has always been written in plain JS, and the typedefs maintained by the community in DefinitelyTyped. We plan on eventually rewriting the library in TypeScript in a future React-Redux v8 release, but until then the types can stay in DT.

However, having to always manually install @types/react-redux is annoying, and some users have gotten confused by that. This release adds a hard dependency on @types/react-redux, so that if you install react-redux, you automatically get the types as well. This should simplify the process for TS users.

Docs Updates

We've made several docs updates recently:

  • Renamed "Quick Start" to "Getting Started" and "Static Typing" to "Usage with TypeScript"
  • Dropped the docs API versioning setup, as the legacy API version docs pages were rarely viewed and the versioning setup confused docs contributors

... (truncated)

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [react-redux](https://github.com/reduxjs/react-redux) from 7.2.1 to 7.2.4.
- [Release notes](https://github.com/reduxjs/react-redux/releases)
- [Changelog](https://github.com/reduxjs/react-redux/blob/master/CHANGELOG.md)
- [Commits](reduxjs/react-redux@v7.2.1...v7.2.4)

---
updated-dependencies:
- dependency-name: react-redux
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added the dependencies Pull requests that update a dependency file label Jun 4, 2021
@chrisbobbe
Copy link
Copy Markdown
Contributor

chrisbobbe commented Jun 4, 2021

This isn't a major version bump, but I think we should still plan to test things like login/logout to make sure things don't seem to break. In particular, to check that withHaveServerDataGate doesn't need to be changed; the implementation has a comment that we don't 100% understand what react-redux is doing with connect and useSelector, and the changelog seems like some potentially relevant stuff might have happened, in particular in v7.2.3.

@chrisbobbe
Copy link
Copy Markdown
Contributor

OK, I've just tried logging into a second account (via Apple) and logging out of it, and I didn't see any crashes or hangs on the loading screen, and I didn't see any unusual errors in the console, so I think we're OK to take this upgrade.

Also, ISTR react-redux is more careful than most in their engineering and releases.

@chrisbobbe
Copy link
Copy Markdown
Contributor

@dependabot merge

@dependabot dependabot Bot merged commit 995ac2e into master Jun 7, 2021
@dependabot dependabot Bot deleted the dependabot/npm_and_yarn/react-redux-7.2.4 branch June 7, 2021 18:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant