Javascript 在.map函数中使用react道具
假设我的一个组件上有以下渲染函数。 我从父元素传递了一个Javascript 在.map函数中使用react道具,javascript,reactjs,ecmascript-6,Javascript,Reactjs,Ecmascript 6,假设我的一个组件上有以下渲染函数。 我从父元素传递了一个changeTidprop函数 家长: <RequestsList data={this.state.data} changeTid={this.changeTid} /> 子项: <RequestsList data={this.state.data} changeTid={this.changeTid} /> (我正在使用ES6课程) render(){ var RequestNodes=this.pro
changeTid
prop函数
家长:
<RequestsList data={this.state.data} changeTid={this.changeTid} />
子项:
<RequestsList data={this.state.data} changeTid={this.changeTid} />
(我正在使用ES6课程)
render(){
var RequestNodes=this.props.data.map(函数(请求){
返回(
);
});
返回(
{RequestNodes}
);
}
我不能在我的地图函数中使用
this.props.changeTid
,因为此
未引用我不想引用的内容。我在哪里绑定它,以便访问我的道具
?您可以通过第二个参数为回调设置此
var RequestNodes = this.props.data.map(function(request) {
/// ...
}, this);
或者您可以使用没有自己的this
,并且this
在它内部指的是封闭的上下文
var RequestNodes = this.props.data.map((request) => {
/// ...
});
如果您使用的是ES6,您可以使用不绑定自己的
this
var RequestNodes = this.props.data.map(request => {
return (
<Request
key={request.TID}
changeTid={this.props.changeTid}
/>
);
});
var RequestNodes=this.props.data.map(请求=>{
返回(
);
});