Как передать событие и другие аргументы внутри функции стрелки в ReactJs - PullRequest
2 голосов
/ 09 января 2020

Я новичок в 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={()=>this.nameChange(event, index)}

Выдает ошибку, говоря, что событие не найдено ...

Как отправить событие вместе с аргументами в определение функции стрелки внутри функции рендеринга?

Я знаю, что это может показаться очень базовым c вопросом, но новички, которые, как правило, начинают беспорядочно, часто сталкиваются с простыми базовыми c проблемами, подобными этой.

1 Ответ

3 голосов
/ 09 января 2020

После этого я следовал учебному пособию и нашел его, поэтому подумал, что его стоит поделиться ..

И событие может быть отправлено в первой скобке функции стрелки следующим образом:

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

, а затем событие и индекс можно прочитать в функции nameChange.

...