Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

hoist-non-react-statics

mridgway53.8mBSD-3-Clause3.3.2TypeScript support: definitely-typed

Copies non-react specific statics from a child component to a parent component

react

readme

hoist-non-react-statics

NPM version Build Status Coverage Status Dependency Status devDependency Status

Copies non-react specific statics from a child component to a parent component. Similar to Object.assign, but with React static keywords blacklisted from being overridden.

$ npm install --save hoist-non-react-statics

Usage

import hoistNonReactStatics from 'hoist-non-react-statics';

hoistNonReactStatics(targetComponent, sourceComponent);

If you have specific statics that you don't want to be hoisted, you can also pass a third parameter to exclude them:

hoistNonReactStatics(targetComponent, sourceComponent, { myStatic: true, myOtherStatic: true });

What does this module do?

See this explanation from the React docs.

Compatible React Versions

Please use latest 3.x. Versions prior to 3.x will not support ForwardRefs.

hoist-non-react-statics Version Compatible React Version
3.x 0.13-16.x With ForwardRef Support
2.x 0.13-16.x Without ForwardRef Support
1.x 0.13-16.2

Browser Support

This package uses Object.defineProperty which has a broken implementation in IE8. In order to use this package in IE8, you will need a polyfill that fixes this method.

License

This software is free to use under the Yahoo Inc. BSD license. See the LICENSE file for license text and copyright information.

Third-party open source code used are listed in our package.json file.

changelog

3.3.2 (January 22, 2020)

  • Fix React.memo for v16.12+ (#93)

3.3.1 (November 14, 2019)

  • Fix for UMD bundle (#85)
  • Tooling changes (#83, #84, #87)

3.3.0 (January 23, 2019)

  • Prevent hoisting of React.memo statics (#73)

3.2.1 (December 3, 2018)

  • Fixed defaultProps, displayName and propTypes being hoisted from React.forwardRef to React.forwardRef. (#71)

3.2.0 (November 26, 2018)

  • Added support for getDerivedStateFromError. (#68)
  • Added support for React versions less than 0.14. (#69)

3.1.0 (October 30, 2018)

  • Added support for contextType. (#62)
  • Reduced bundle size. (e89c7a6)
  • Removed TypeScript definitions. (#61)

3.0.1 (July 28, 2018)

  • Fixed prop-types warnings. (e0846fe)

3.0.0 (July 27, 2018)

  • Dropped support for React versions less than 0.14. (#55)
  • Added support for React.forwardRef components. (#55)