在 this.props.data.map 内反应 {this.state.xyz}
React {this.state.xyz} inside this.props.data.map
我想将状态传递给 this.props.data.map 中的组件。但是我抛出了一个错误。
设置如下:
var PortraitNodes = this.props.data.map(function (image, i) {
return (
<div className="portrait" key={i} >
<PortraitPhoto
imagepath={image.id} />
<PortraitSpeaker
isPlaying={this.state.isPlaying}
whichPlaying={this.state.whichPlaying}
onToggle={this.playerAction} />
<PortraitName
names={image.name}
title={image.title} />
</div>
);
看起来好像 this
正在访问地图功能。
这里的解决方法是什么?
您需要将地图使用的函数绑定到您的组件实例,以便能够访问状态。
this.props.data.map(function (){}.bind(this));
您也可以将其作为参数传递给 map
.map(function (){}, this);
我想将状态传递给 this.props.data.map 中的组件。但是我抛出了一个错误。
设置如下:
var PortraitNodes = this.props.data.map(function (image, i) {
return (
<div className="portrait" key={i} >
<PortraitPhoto
imagepath={image.id} />
<PortraitSpeaker
isPlaying={this.state.isPlaying}
whichPlaying={this.state.whichPlaying}
onToggle={this.playerAction} />
<PortraitName
names={image.name}
title={image.title} />
</div>
);
看起来好像 this
正在访问地图功能。
这里的解决方法是什么?
您需要将地图使用的函数绑定到您的组件实例,以便能够访问状态。
this.props.data.map(function (){}.bind(this));
您也可以将其作为参数传递给 map
.map(function (){}, this);