Javascript onChange事件不发生';不能正确地将参数传递给我的函数

Javascript onChange事件不发生';不能正确地将参数传递给我的函数,javascript,reactjs,onchange,Javascript,Reactjs,Onchange,所以基本上,我的输入中有一个onChange事件,我用它来更改图片。我尝试在.map中执行此操作,因为有多个图片,因此我有一个名为“I”的“计数器”,它跟踪我尝试修改的图片。我遇到的问题是,当我试图将“I”作为onChange事件中的参数之一传递时,“I”始终等于0,无论我试图修改哪个图片 这是一个类似社交媒体的网站,人们可以在这里修改他们的个人资料图片。我试图在onChange事件发生之前声明一个新变量并将其设置为“I”,但这也不起作用 let data = this.state.result

所以基本上,我的输入中有一个onChange事件,我用它来更改图片。我尝试在.map中执行此操作,因为有多个图片,因此我有一个名为“I”的“计数器”,它跟踪我尝试修改的图片。我遇到的问题是,当我试图将“I”作为onChange事件中的参数之一传递时,“I”始终等于0,无论我试图修改哪个图片

这是一个类似社交媒体的网站,人们可以在这里修改他们的个人资料图片。我试图在onChange事件发生之前声明一个新变量并将其设置为“I”,但这也不起作用

let data = this.state.results.map((item, i) => {
    return (
        <tr key={i}>
            <td>
                <Profile id="profile" className="d-flex justify-content-center">
                    {
                        this.state.accounts[i].profilePicture ?
                        <>
                            <RoundedProfile size="50px" id="roundedProfile" className="profilePicture" shadowed src={ settings.apiUrl + this.state.accounts[i].profilePicture }
                             />
                             <div id="changeProfilePicture" onClick={this.changeProfilePicture}>
                                 <FontAwesomeIcon icon={faPen}/>
                             </div>
                             <input
                             type="file"
                             id="inputProfilePicture"
                             accept="image/png, image/jpeg"
                             value={this.state.profilePicture ? this.state.profilePicture : ""}
                             onChange={(event) => this.handleChangeProfile(event, i)}
                             />
                         </>
                         :
                         <>
                         <div id="changeProfilePicture" onClick={this.changeProfilePicture}>
                             <FontAwesomeIcon icon={faPen}/>
                         </div>
                         <input
                         type="file"
                         id="inputProfilePicture"
                         accept="image/png, image/jpeg"
                         value={this.state.profilePicture ? this.state.profilePicture : ""}
                         onChange={(event) => this.handleChangeProfile(event, i)}
                         />
                     </>
                     }
                 </Profile>
             </td>
let data=this.state.results.map((项目,i)=>{
返回(
{
this.state.accounts[i].profilePicture?
this.handleChangeProfile(事件,i)}
/>
:
this.handleChangeProfile(事件,i)}
/>
}

因此,我希望“I”等于它关联的配置文件图片

您应该发送I和第一个参数: 您的代码:
onChange={(事件)=>this.handleChangeProfile(事件,i)}
并更改为
onChange={(事件)=>this.handleChangeProfile(i,事件)}
更多细节

您可以使用“事件”,使用“currentTarget.value属性”并按如下方式分配一次更改:

class test extends React.Component{
    state = {trKey: 0}

    handleChangeProfile = (id)=>{
     /**your instructions**/
     this.setState({trKey: i.currentTarget.value })
    }

    render(){
    return(
           /****/
           onChange = {this.handleChangeProfile}
    )
}
}

看起来不错,您能为您的问题创建一个沙箱,以便轻松理解错误所在吗请向我们展示您的onChange处理程序函数。