我正在尝试关注reactJS的一些教程,我对理解这个例子有疑问https://jsfiddle.net/reactjs/zafjbw1e/light/ 。 bind(this)的目的是什么(第36行) 似乎我没有这种绑定方法就无法将状态从父级传递给子级。
var ProductTable = React.createClass({
render: function() {
var rows = [];
var lastCategory = null;
this.props.products.forEach(function(product) {
if (product.name.indexOf(this.props.filterText) === -1 || (!product.stocked && this.props.inStockOnly)) {
return;
}
if (product.category !== lastCategory) {
rows.push(<ProductCategoryRow category={product.category} key={product.category} />);
}
rows.push(<ProductRow product={product} key={product.name} />);
lastCategory = product.category;
}.bind(this));
return (
<table>
<thead>
<tr>
<th>Name</th>
<th>Price</th>
</tr>
</thead>
<tbody>{rows}</tbody>
</table>
);
}
});
我仍然不理解这段代码,为什么我们需要绑定(这个)?为什么this.props.products不需要bind(this)和this.props.filterText需要这个?