pgarciacamou / react-context-consumer-hoc

HOC that consumes multiple contexts and pass as props to components
MIT License
18 stars 3 forks source link

chore(deps): update dependency react-redux to v7.2.0 #56

Closed renovate[bot] closed 4 years ago

renovate[bot] commented 4 years ago

This PR contains the following updates:

Package Type Update Change
react-redux devDependencies minor 7.1.1 -> 7.2.0

Release Notes

reduxjs/react-redux ### [`v7.2.0`](https://togithub.com/reduxjs/react-redux/releases/v7.2.0) [Compare Source](https://togithub.com/reduxjs/react-redux/compare/v7.1.3...v7.2.0) This release fixes two bugs, an algorithmic problem with unsubscribing components and a memory leak with `connect`. It also has optimizations for production bundle size, and adds a couple small improvements to developer readability while debugging. #### Changes ##### Bug Fixes `connect` in v7 is implemented using hooks, and the hooks usage captures numerous values from the surrounding scope. We received a PR informing us that the way we were capturing these values would likely result in a copy of the first version of its props being kept alive indefinitely. This memory leak has been fixed by extracting a custom hook that receives all the necessary values as arguments, so that they're not captured via closure. We also received a PR letting us know that the unsubscribe logic had a quadratic algorithm in it, as removing a subscriber would use an `indexOf(listener)` check to remove that callback. If there were a large number of subscribers, that line's runtime would increase rapidly, causing slowdowns. This algorithm has been replaced with tracking subscribers via a linked list, which drastically improves the runtime of this section of the code even with large numbers of subscribers. Thanks to [@​larrylin28](https://togithub.com/larrylin28) and [@​wurstbonbon](https://togithub.com/wurstbonbon) for finding these bugs and submitting PRs to fix them! ##### Bundle Size Improvements We've made a number of small tweaks to the codebase to improve the ability of bundlers to shake and minimize the final included size in a bundle. The net result is that [`react-redux@7.2.0` is smaller than 7.1.3](https://bundlephobia.com/result?p=react-redux@7.2.0), dropping 1.3K min and 0.6K min+gzip. (In fact, it's even smaller than the pre-hooks 7.0.0 when gzipped!) Thanks to [@​Andarist](https://togithub.com/Andarist) for doing most of the work on this! ##### Debugging Improvements The `ReactReduxContext` instance now has a `displayName` set, so it should show up in the React DevTools as `ReactRedux.Provider`. Also, when an error is caught in `useSelector` and re-thrown, we now append the original stack trace. Thanks to [@​pieplu](https://togithub.com/pieplu) and [@​r3dm1ke](https://togithub.com/r3dm1ke) for these! #### Changelog - Fix memory leak issue with `UseEffect` ([@​larrylin28](https://togithub.com/larrylin28) - [#​1506](https://togithub.com/reduxjs/react-redux/issues/1506)) - Optimize createListenerCollection ([@​wurstbonbon](https://togithub.com/wurstbonbon) - [#​1523](https://togithub.com/reduxjs/react-redux/issues/1523)) - Rethrowing original errors thrown in selector functions ([@​Andarist](https://togithub.com/Andarist) - [#​1474](https://togithub.com/reduxjs/react-redux/issues/1474)) - Remove invariant in favor of doing NODE_ENV checks directly ([@​Andarist](https://togithub.com/Andarist) - [#​1472](https://togithub.com/reduxjs/react-redux/issues/1472)) - Wrap .propTypes and .displayName assignments with **DEV** check ([@​Andarist](https://togithub.com/Andarist) - [#​1471](https://togithub.com/reduxjs/react-redux/issues/1471)) - Add pure annotations to help with DCE ([@​timdorr](https://togithub.com/timdorr) - [`5e0c50d`](https://togithub.com/reduxjs/react-redux/commit/5e0c50d)) - Inline this function. ([@​timdorr](https://togithub.com/timdorr) - [`58ae5ed`](https://togithub.com/reduxjs/react-redux/commit/58ae5ed)) - Add a displayName on ReactReduxContext ([@​pieplu](https://togithub.com/pieplu) - [#​1462](https://togithub.com/reduxjs/react-redux/issues/1462)) ### [`v7.1.3`](https://togithub.com/reduxjs/react-redux/releases/v7.1.3) [Compare Source](https://togithub.com/reduxjs/react-redux/compare/v7.1.2...v7.1.3) Forgot to remove a `console` statement before I published 7.1.2. Oops! Lint your source code before publishing, folks. #### [Changes](https://togithub.com/reactjs/react-redux/compare/v7.1.2...v7.1.3) - Remove leftover console statement ([@​markerikson](https://togithub.com/markerikson) - [`30101bb`](https://togithub.com/reduxjs/react-redux/commit/30101bb)) ### [`v7.1.2`](https://togithub.com/reduxjs/react-redux/releases/v7.1.2) [Compare Source](https://togithub.com/reduxjs/react-redux/compare/v7.1.1...v7.1.2) This releases fixes a subtle timing bug with `connect` and `useSelector` in React Native environments, and adds the ability to pass through non-Redux-store values as a `store` prop. ##### Fixed Store Subscriptions in React Native Our current implementation requires cascading updates down through connected components. This is primarily done during React's "commit phase" via the `useLayoutEffect` hook. Unfortunately, [React warns when `useLayoutEffect` is called in SSR environments](https://togithub.com/facebook/react/issues/14927), so we try to feature-detect that and fall back to `useEffect` just to avoid that warning. Unfortunately, a tweak to the feature detection conditions during the pre-7.1.0 work caused the check to accidentally fail in React Native environments. This meant that `useEffect` was actually being used all the time, and this led to occasional timing bugs such as [#​1313](https://togithub.com/reduxjs/react-redux/issues/1313) and [#​1437](https://togithub.com/reduxjs/react-redux/issues/1437) . This affected the previous v7.1.x releases. We've fixed that issue, and added additional test cases to ensure that our code works correctly under React Native. See [#​1444](https://togithub.com/reduxjs/react-redux/issues/1444) for more details on the feature detection and the fix. ##### Passing Through Non-Store Values `connect` has always accepted passing a Redux store directly to connected components as a prop named `store` (with the exception of v6). As a result, the `store` prop has effectively been treated as a "reserved" prop, in much the same way that `key` and `ref` are "reserved" prop names handled by React. Some users may be using the word "store" to describe their domain data, and have asked to allow variables that _aren't_ a Redux store through the `store` prop to the component ([#​1393](https://togithub.com/reduxjs/react-redux/issues/1393)). We've finally been able to implement that capability. #### [Changes](https://togithub.com/reactjs/react-redux/compare/v7.1.1...v7.1.2) - Pass non-Redux-store values through the `store` prop ([@​markerikson](https://togithub.com/markerikson) - [#​1447](https://togithub.com/reduxjs/react-redux/issues/1447)) - Fix RN batching and effect behavior ([@​markerikson](https://togithub.com/markerikson) - [#​1444](https://togithub.com/reduxjs/react-redux/issues/1444)) - Remove unused `latestStoreState` field ([@​Hypnosphi](https://togithub.com/Hypnosphi) - [#​1426](https://togithub.com/reduxjs/react-redux/issues/1426)) - Mark the react renderers as optional peer deps. ([@​timdorr](https://togithub.com/timdorr) - [`388d9e4`](https://togithub.com/reduxjs/react-redux/commit/388d9e4)) - Use the same condition for checking if SSR in useSelector.js as in connectAdvanced.js ([@​LeoDanielsson](https://togithub.com/LeoDanielsson) - [#​1419](https://togithub.com/reduxjs/react-redux/issues/1419))

Renovate configuration

:date: Schedule: At any time (no schedule defined).

:vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.

:recycle: Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

:no_bell: Ignore: Close this PR and you won't be reminded about this update again.



This PR has been generated by WhiteSource Renovate. View repository job log here.