Вот фрагмент моего кода. Он генерирует таблицу с возможностью отправки приглашения по электронной почте каждому человеку.
constructor(props){
super(props)
this.state={
persons:[],
inviteSent: false,
}
}
async componentDidMount(){
this.setState({
patients:this.props.patients,
})
}
sendInvite = async (person) => {
let response = ***code to send email invite***
if(response.ok){
this.setState({
inviteSent: true,
})
}
}
let personList = this.props.personList
let persons = personList.map((person, index)=>
{
return (
<tr key={index}>
<td>
{!this.state.inviteSent &&
<div onClick={()=>this.sendInvite(person)}>Send Invite</div>
}
{this.state.inviteSent &&
<div>Email Sent</div>
}
</td>
</tr>
)
}
По сути, есть кнопка для отправки приглашения по электронной почте каждому человеку в таблице и после отправки, которая указывает c кнопка должна исчезнуть и быть заменена подтверждением с надписью «Электронное письмо отправлено». Однако, поскольку состояние inviteSent
не привязано к конкретному человеку, он обновляет все строки с помощью «Приглашение отправлено». Как мне сопоставить его с этим конкретным c человеком?