React jak odwołać się do komponentu (z komponentu wyżej )który jest niżej gdzieś zagnieżdżony

Odpowiedz Nowy wątek
2019-08-13 22:21
0

np.
----WrpComponent
-------- childComponent
-------------- grandCHildComponent
-------------- grandCHildComponent
----------------------grandgrandCHildComponent

i np. chciałbym z wrpComponent dostać jakąś informację o grandgrandCHildComponent, np. jaką ma szerokość?

edytowany 1x, ostatnio: mateusz1231r4, 2019-08-13 22:22

Pozostało 580 znaków

2019-08-13 22:41
0

to raczej grandgrandCHildComponent mówi do WrpComponent o swojej szerokości
https://pl.reactjs.org/docs/context.html

ale ja tą wiadomosć chce mieć we wrp. po tym jak komponennt np. się wyrenderuje. - mateusz1231r4 2019-08-13 22:49

Pozostało 580 znaków

2019-08-13 23:05
2

Masz kilka opcji.

  1. piszesz w rodzicu funkcję callback, którą przekazujesz przez propsy w dół drzewa do dziecka. Następnie w oczekiwanym momencie wołasz tę funkcję i dzięki temu rodzic dostaje dane wprost od dziecka.
  2. używasz reduxa lub innej biblioteki do zarządzania stanem.
  3. używasz hooka useState w react od wersji 16.8+

Wiedza to potęga
Pokaż pozostałe 10 komentarzy
Albo nie powiiedziałem dokładnie o co mi chodzi. A dokładniej chodziło mi o to że np. jak komponent grandgrand się wyrenderuje to w wrapperze będę miał informajcę jaką szerokość ma ten grandgrandC. - mateusz1231r4 2019-08-13 23:46
jak nie chcesz to nie mów, tylko zmniejszy to szansę na uzyskanie dobrej porady. - LukeJL 2019-08-13 23:48
no już dostałem odpowiedzi. Ale się pytam Haskella - mateusz1231r4 2019-08-13 23:49
funkcja może przyjmować parametry więc możesz ją wołać w dziecku z odpowiednimi wartościami, a funkcja będzie najzwyczajniej w świecie przepisywała te wartości do stanu rodzica. Tylko musisz ją przekazać w dół przez propsy, rozumiesz o czym mówię? - Haskell 2019-08-14 02:13
pokazałbyś jak to mniej więcej wygląda? - mateusz1231r4 2019-08-14 17:25

Pozostało 580 znaków

2019-08-13 23:21
1

Myślę, że wybór odpowiedniej opcji jak zawsze, zależy od konkretnego problemu.

i np. chciałbym z wrpComponent dostać jakąś informację o grandgrandCHildComponent, np. jaką ma szerokość?

Jeśli chodzi o szerokość, to tutaj oprócz sposobów, o których mój przedmówca napisał (odnośnie komunikacji wewnątrz-reactowej) pewnie byłaby nawet możliwość użycia CSS (np. odpowiedni layout zamiast liczenia szerokości na pałę) bądź wywołań w JavaScript bezpośrednio do DOM, jeśli chodzi o szerokość ( https://developer.mozilla.org[...]Element/getBoundingClientRect )

Jednak rodzą się pytania

  • czy dobrze zdefiniowałeś problem? Jaki jest twój właściwy problem (jak odwołać się do komponentu (z komponentu wyżej )który jest niżej gdzieś zagnieżdżony to nie wygląda na problem "biznesowy", a jedynie na szczegół implementacyjny rozwiązania jakiegoś większego problemu).
  • czy dobrze zaprojektowałeś podział na komponenty (że w ogóle masz potrzebę dostawać się z komponentu wyżej do komponentu ileś poziomów niżej? To pachnie jak zły podział na komponenty. Chociaż niekoniecznie, być może jest jakieś uzasadnienie na to).

((0b10*0b11*(0b10**0b101-0b10)**0b10+0b110)**0b10+(100-1)**0b10+0x10-1).toString(0b10**0b101+0b100);
edytowany 3x, ostatnio: LukeJL, 2019-08-13 23:23
a no do domu to trzeba się jeszcze odwołać przez coś .hihi - mateusz1231r4 2019-08-13 23:26

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0