lukaszwasyl
#javascript #react #pytanie
Mam komponent który trzyma komponenty
Jak poprawnie zrobić taką akcję, żeby na onClick, aktywować SidebarElement nr 1, deaktywować elementy 2,3,4, jednakże jak kliknę element 2 to żeby deaktywował element 1 i pozostałe ?
  • Najlepsze
  • Wszystkie komentarze
Zavis
Zavis
0
@lukaszwasyl: czyli aktywny ma być tylko ostatnio klikniety?
lukaszwasyl
lukaszwasyl Autor
0
@Zavis: Generalnie to tak
magic96
magic96
@lukaszwasyl: w zasadzie możesz w rodzicu trzymać index/klucz aktywnego i przekazywać go razem z handlerem to zmiany tego indeksu, coś typu

const [activeKey, setActiveKey] = useState(-1);
{ setActiveKey(key) }} active={activeKey === key} />
lukaszwasyl
lukaszwasyl Autor
0
@magic96: Próbowałem coś podobnego robić w stylu Tylko z tym warunkiem enabled coś nie banglao, ale ogólnie w podobnej koncepcji
magic96
magic96
@lukaszwasyl: to poka całość
lukaszwasyl
lukaszwasyl Autor
0
@magic96: https://pastebin.com/KnfxCaXZ obstawiam, że niepotrzebnie drugi raz wywołuje onClickCapture i powinienem uniezależnić funkcje do wykonywania logiki a kliknięcie i togglowanie czy jest aktywny czy nie
BomBom
@lukaszwasyl: zrób stan do którego przekażesz id elementu aktywnego, i na tej podstawie niech będzie aktywny ten ktory jest równy temu ze stanu