react-redux v7.1.2 Release Notes

Release Date: 2019-11-06 // over 4 years ago
  • ๐Ÿš€ 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, 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 and #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 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). We've finally been able to implement that capability.

    Changes