Reactjs react本机函数在迭代器中未定义
这是我的代码,我正在尝试调用DownloadPdfiles这个函数,它显示DownloadPdfiles未定义。请查看这个并让我知道Reactjs react本机函数在迭代器中未定义,reactjs,react-native,Reactjs,React Native,这是我的代码,我正在尝试调用DownloadPdfiles这个函数,它显示DownloadPdfiles未定义。请查看这个并让我知道 { this.state.filesLits && this.state.filesLits.map(function (files, index) { return ( <li kye={Math.random()}> <a onClick={this.downloadPdfFiles.b
{
this.state.filesLits && this.state.filesLits.map(function (files, index) {
return (
<li kye={Math.random()}>
<a onClick={this.downloadPdfFiles.bind(files.originalFilesName, files.fileName, files.attachmentId)}
style={{textDecoration: 'underline'}}>
<span>{files.originalFilesName}</span>
</a>
</li>
)
})
}
当您查看bind的定义时,必须设置一个实例。如果您不想将其绑定到任何地方,只需给出参数,它应该如下所示: this.downloadpffiles.bindnull、files.originalFilesName、files.fileName、files.attachmentId 如果不是这样: this.downloadpffiles.bindthis,files.originalFilesName,files.fileName,files.attachmentId这是词法范围问题。 使用箭头功能来修复它。它将绑定到具有DownloadPdfiles的定义的文件 这应该起作用:
downloadPdfFiles = (originalFilesName, fileName, attachmentId)=>{
console.log(originalFilesName, fileName, attachmentId)
}
render(){
return (
<block>
{this.state.filesLits && this.state.filesLits.map((file, index)=>(
<li key={Math.random()} >
<a onClick={(e)=>this.downloadPdfFiles(file.originalFilesName, file.fileName, file.attachmentId)}
style={{ textDecoration: 'underline' }}>
<span>{file.originalFilesName}</span>
</a>
</li>
))}
</block>
);
}
请添加更多相关代码,尤其是文件集的内容您真的使用React Native吗?在我看来,这很像HTML。
downloadPdfFiles = (originalFilesName, fileName, attachmentId)=>{
console.log(originalFilesName, fileName, attachmentId)
}
render(){
return (
<block>
{this.state.filesLits && this.state.filesLits.map((file, index)=>(
<li key={Math.random()} >
<a onClick={(e)=>this.downloadPdfFiles(file.originalFilesName, file.fileName, file.attachmentId)}
style={{ textDecoration: 'underline' }}>
<span>{file.originalFilesName}</span>
</a>
</li>
))}
</block>
);
}