
#react #javascript #programista15k #programowanie Piszę aplikacje która pobiera dane z endpointa, odopowiedź pakuje do array a potem w render() mapuję tą tablicę i zwracam dla każdego elementu diva. Teraz pracuję nad funkcją która po kliknięciu w diva będzie robić zapytanie na endpoint kóry musi zawierać id tego elementu. Próbowałem e.target ale jest ciągle undefined, a kiedy przekażę w środku diva na onClicka ten sam parametr co w key{element.id} to wywołuje to loopa i crashuje przeglądarkę. Jak wyciągnąć informacje który element został kliknięty do funkcji która będzie pod onClickiem?
- Najlepsze
- Wszystkie komentarze






mapto masz wewnątrz callbacka dostęp do ID. Wystarczy że zrobiszonClick={() => doSomething(id)}gdziedoSomethingto twój handler aidto id obecnie mapowanego elementuKomentarz usunięty przez autora
Komentarz usunięty przez autora
axios
.get(
todosArray[id].id <- co to jest?
Gdzie? W console.log(id) ? Jesteś pewny że to aa ma wogóle id?
"Jak wyciągnąć informacje który element został kliknięty do funkcji która będzie pod onClickiem?"
JW. Albo jak div ma być jakimś specyficznym komponentem to możesz z niego zrobić Komponent funkcyjny i zapodać mu propsa jak go będziesz mapować i w propsie przekazać ID. Wew Komponentu zrobić onClick handler który sprawdza czy to kliknięty i odpala twoją wyjściową
@cr6d: A jednak ma ¯\_(ツ)_/¯
W downloadList(aa.id) podajesz konkretne id obiektu o które chcesz odpytać api ale zamiast go po prostu użyć do odpytania api bierzesz obiekt o indeksie id z todosArray i bierzesz jego id.
Musiałbyś wrzucić jakiś przykład odpowiedzi z api, później jak mapujesz dane z api do todosArray i jak napisałeś ten render. Bo poza tym co opisałem wyżej wygląda wszystko ok.
@cr6d: Może być takie samo. Jak działasz na testowych danych i masz array gdzie id są po kolei to będzie działać. Wystarczy że usuniesz jeden todo z listy i już index w tablicy nie będzie równy id obiektu.
@cr6d: Ciężko powiedzieć co jest nie tak, musiałbyś wrzucić więcej
{
"id": 626,
"name": "sdsd",
"user": {