Skip to content

Instantly share code, notes, and snippets.

@Daniel15
Last active August 29, 2015 14:20
Show Gist options
  • Save Daniel15/3b9fedea012657622fcf to your computer and use it in GitHub Desktop.
Save Daniel15/3b9fedea012657622fcf to your computer and use it in GitHub Desktop.
.bind() in React components
// This is bad
var List = React.createClass({
render() {
return (
<ul>
{this.props.items.map(item =>
<li key={item.id} onClick={this.props.onItemClick.bind(null, item.id)}>
...
</li>
)}
</ul>
);
}
});
// This is what you want
var List = React.createClass({
render() {
return (
<ul>
{this.props.items.map(item =>
<ListItem key={item.id} item={item} onItemClick={this.props.onItemClick} />
)}
</ul>
);
}
});
var ListItem = React.createClass({
render() {
return (
<li onClick={this._onClick}>
...
</li>
);
},
_onClick() {
this.props.onItemClick(this.props.item.id);
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment