it binds methods to its class prototype + Compatible with stub/spy used on unit-test frameworks (Sinon.Js, enzyme,...so on) + Can be worked together with other 3rd party decorators (like autobind-decorator
)
import {Autobind} from 'babel-autobind';
@Autobind
class MyComponent extends React.Component {
}
export default MyComponent;
Or
import {Autobind} from 'babel-autobind';
class MyComponent extends React.Component {
}
export default Autobind(MyComponent);
@Autobind decorator is more elegant than Autobind(...) function , However , Autobind(...) function is overloaded . Indeed, it accepts 2nd argument to rename the class after binding.
import {Autobind} from 'babel-autobind';
class MyComponent extends React.Component {
}
export default Autobind(MyComponent,'YourComponent');
From release 0.3.3
, it is possible to rename the class name from decorator too.
import {Autobind} from 'babel-autobind';
@Autobind('YourComponent')
class MyComponent extends React.Component {
}
export default MyComponent;