javascript - 如何在 ReactJs 中的箭头函数内传递事件和其他参数

标签 javascript reactjs events dom-events arrow-functions

我是 React 的初学者,并遇到了一个问题:

这是我在渲染函数中的代码

let contnt = null;
        if(this.state.showPersons)
        {
          contnt = (
            <div >
              {this.state.persons.map((ppl,index)=>{
                return <Person name={ppl.name} 
                                age={ppl.age} 
                                changed={this.nameChange}  // THE FOCUS POINT
                                click={()=>this.deletePerson(index)}
                                key={index}></Person>
              }) }
            </div>

          )
        } 

上面的代码工作正常,函数 nameChange 也可以读取事件,而无需显式将其作为参数发送。
但我也想将索引发送到我的 nameChange 函数,但如果我将 changed 定义为:

changed={()=>this.nameChange(event, index)}

它给出错误,说未找到事件...

如何将事件和参数一起发送到渲染函数内的箭头函数定义?

我知道这似乎是一个非常基本的问题,但是往往随意开始的初学者经常会面临这样的简单基本问题。

最佳答案

我后来遵循了一个教程并发现了它,所以认为它值得分享..

事件可以在箭头函数的第一个括号中发送,如下所示:

changed={(event)=>this.nameChange(event, index)}

然后可以在 nameChange 函数中读取事件和索引。

关于javascript - 如何在 ReactJs 中的箭头函数内传递事件和其他参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59657795/

相关文章:

javascript - 将 HashRouter 更改为 BrowserRouter - 导航栏不再起作用,但链接可以

javascript - 类型错误 : Failed to execute 'fetch' on 'Window' : Invalid value

javascript - Axios API Twitter 请求未返回用户推文

python - 在MAYA 2009中,是否可以捕获立方体旋转事件?

javascript - 全局监听 Backbone.js Model.save

java - 如何最小化(图标化)FXML应用程序?

javascript - 在 Bootstrap 模式框中加载外部页面

javascript - 在 js 对象中使用 `this`

javascript - 如何在 <td> </td> 中加载以下上下文的 datapicker?

javascript - 悬停时显示外部 div