假设我在其中一个组件上具有以下render函数。我从父元素传递了changeTidprop函数。
changeTid
上级:
<RequestsList data={this.state.data} changeTid={this.changeTid} />
儿童:
(我正在使用ES6类)
render() { var RequestNodes = this.props.data.map(function(request) { return ( <Request key={request.TID} changeTid={this.props.changeTid} /> ); }); return ( <div className="list-group">{RequestNodes}</div> ); }
我无法this.props.changeTid在地图功能中使用,因为this没有引用我所不想要的内容。我在哪里绑定它以便可以访问我的props?
this.props.changeTid
this
props
您可以设置this为.map通过第二个参数回调
.map
var RequestNodes = this.props.data.map(function(request) { /// ... }, this);
或者您可以使用没有自己的箭头功能this,并且this在其中指向封闭上下文
var RequestNodes = this.props.data.map((request) => { /// ... });