@bound decorator
Decorator for creating bound methods using Babel 7+ (sometimes referred to as "autobinding"). Should work in TypeScript too once the current version of the decorators proposal is implemented.
Note: This decorator is not compatible with legacy
mode for decorators, regardless of your Babel version.
For Babel 6 and for TypeScript (at least as of 2018), you might be interested in these alternatives:
Installation
npm i -S bound-decorator
Or:
yarn add bound-decorator
Usage
Simply add @bound
to the method you want to be bound:
import bound from 'bound-decorator'
@bound
handleClick() {}
Example
Using React:
class Counter extends React.Component {
state = {
count: 0
}
@bound
handleClick() {
this.setState({ count: this.state.count + 1 })
}
render() {
return <div onClick={this.handleClick}>{this.state.count}</div>
}
}
See also the demo directory.
Motivation
See MOTIVATION.md
License
ISC