Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
@zippytech/react-class
Advanced tools
A carefully crafted base class for all your React components
Smart Auto-Binding for your React components.
$ npm install @zippytech/react-class --save
Instead of extending React.Component
you have to extend the class exported by @zippytech/react-class
.
import Component from '@zippytech/react-class'
// or import { Component } from '@zippytech/react-class
class MyApp extends Component {
render() {
return <div {...props} onClick={this.onClick}>
//onClick is auto-bound to "this", so you can keep your code dry
</div>
}
onClick(){
console.log(this)
// this is correctly bound to the component instance
}
}
autoBind
onlyIf you don't want to extend the class exported by @zippytech/react-class
and instead just want autobinding, you can just import the autoBind
function directly.
import autoBind from '@zippytech/react-class/autoBind'
// or
import { autoBind } from '@zippytech/react-class'
// or
var autoBind = require('@zippytech/react-class/autoBind')
After importing/require-ing it, call autoBind
in the component constructor:
import autoBind from '@zippytech/react-class/autoBind'
class MyApp extends React.Component {
constructor(props) {
super(props)
autoBind(this)
}
render() {
// ... your rendering logic
}
}
autoBind
supports a second param, that can be used to filter what gets auto-binding or not. It can be a function or an object.
autoBind(obj, filterFn)
- only those methods in obj
are bound to the object for which the filterFn
returns trueautoBind(obj, skipObject)
- the methods whose names are found in the skipObject
as truthy are skipped from autobinding. Eg: autoBind(obj, { notBound: true, log: true })
will not bind the obj.notBound
and obj.log
methods to the obj
object.Autobinding, which is a nice-to-have feature!
@zippytech/react-class
is a very thin layer around React.Component
, so just in case you decide removing it in the future, you'll be safe and will only have to do very minor code changes.
We're not doing anything magical!
FAQs
A carefully crafted base class for all your React components
We found that @zippytech/react-class 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.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.