在 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);