ReactJS — Как отобразить отдельный объект из массива с использованием id?

#javascript #arrays #reactjs #object

#javascript #массивы #reactjs #объект

Вопрос:

В приложении react я пытаюсь получить одну строку из массива, используя id, но это не работает.

 const result = [
 {id: 0, important: false, name: "Shruthi R", phone: "9834233433", email: "shruthi@gmail.com", work: "NicheSoft", city: "Mysore"},
 {id: 1, important: false, name: "Shivay", phone: "9442233166", email: "shivay@yopmail.com", work: "MicroSoft", city: "Mumbai"},
 {id: 2, important: false, name: "Yash Sindhya", phone: "7455454354", email: "yash@yopmail.com", work: "AirVoice", city: "Pune"},
 {id: 3, important: false, name: "Rajat", phone: "8456546555", email: "rajat@gmail.com", work: "Airtel", city: "Delhi"},
 {id: 5, important: false, name: "Surya S", phone: "9956546546", email: "surya@gmail.com", work: "Vodafone", city: "Chennai"},
 {id: 6, important: false, name: "Paridhi", phone: "8856544422", email: "paridhi@gmail.com", work: "MicroTech", city: "Lucknow"},
];
 

Моя onEditClick функция, как показано ниже, здесь я хочу, чтобы одна (совпадающая) строка из result id

 onEditClick = (event) => {
  console.log(event.target.id);
}
 

Комментарии:

1. правильно ли я понимаю, что вы хотите получить объект по id?

2. ДА. Вы правы.

Ответ №1:

При условии event.target.id , что содержит соответствующий идентификатор, вы можете использовать метод array find() :

 onEditClick = (event) => {
  const clickedResult = result.find(({id})=>id===parseInt(event.target.id));
  console.log('clickedResult', clickedResult);
}

 

Комментарии:

1. Когда я конвертирую event.target.id в parseInt(event.target.id) then, это сработает..