I'm struggling to understand how context works in Facebook's React JS framework.
When passing a specification to React.createClass, certain methods (notably event handlers) seem to require the use of React.autoBind to 'bind callbacks to the component'. Other methods (notably render()
) don't have this requirement but still happily reference this.props
or this.state
.
What is the context of 'this' as used by the render()
method, if it's not the component ?
That's because they kind of already does autoBind
for internal methods such as render
. In fact, if you call autoBind
and pass those methods you'll get an error.
For custom methods, initially the idea is that you might want to stick to whatever context you want to assign, but this is changed in 0.4.x (http://facebook.github.io/react/blog/2013/07/02/react-v0-4-autobind-by-default.html).
Basically because the bound this
is most of the time what you want, from now on every method in createClass
will now autoBind
by default.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With