Security News
tea.xyz Spam Plagues npm and RubyGems Package Registries
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
hoist-non-react-statics
Advanced tools
Package description
The hoist-non-react-statics package is used to copy non-react specific statics from a child component to a parent component. This is often used in higher-order component (HOC) patterns, where the HOC wraps a child component but needs to expose the same static methods as the child.
Hoisting non-react statics
This feature allows you to automatically copy static methods from a child component to a parent component, which is useful when creating higher-order components that should not interfere with the static methods of the wrapped component.
import hoistNonReactStatics from 'hoist-non-react-statics';
function enhance(WrappedComponent) {
class Enhance extends React.Component {
/* ... */
}
hoistNonReactStatics(Enhance, WrappedComponent);
return Enhance;
}
// Usage
// If WrappedComponent had static method foo(), Enhance will also have it.
Similar to hoist-non-react-statics, react-forward-refs is designed to work with higher-order components. It forwards refs through the HOC to the wrapped component, but it does not handle the hoisting of non-react statics.
While not directly related to hoisting statics, this plugin removes propTypes from React components in production builds, which can be a complementary step when optimizing higher-order components.
This package helps in inheriting static properties and methods from a parent React component to a child component. It serves a similar purpose to hoist-non-react-statics but focuses on class inheritance.
Changelog
3.0.0 (July 27, 2018)
React.forwardRef
components. ([#55])Readme
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
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 });
See this explanation from the React docs.
Compatible React Version | hoist-non-react-statics Version |
---|---|
16.3+ With ForwardRef Support | >= 3.x |
16.3+ Without ForwardRef Support | >= 2.5.0 |
0.13-16.2 | >= 1.0.0 |
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.
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.
FAQs
Copies non-react specific statics from a child component to a parent component
The npm package hoist-non-react-statics receives a total of 15,713,846 weekly downloads. As such, hoist-non-react-statics popularity was classified as popular.
We found that hoist-non-react-statics demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Security News
As cyber threats become more autonomous, AI-powered defenses are crucial for businesses to stay ahead of attackers who can exploit software vulnerabilities at scale.
Security News
UnitedHealth Group disclosed that the ransomware attack on Change Healthcare compromised protected health information for millions in the U.S., with estimated costs to the company expected to reach $1 billion.