czu jest jakiś sposób aby komponent Reactjs będąc niewidocznym renderował widocznego potomka?

0

Zdaje się że wpuściłam się w maliny na własne życzenie. Aplikacja wygląda tak:
Jest komponent odp. za wyświetlanie całej strony, nazwijmy go Page.
Renderuje 3 potomki: A, B, C. Dodatkowo C renderuje potomka D
Potomek A jest stale widoczny. Powinien mieć (on, albo komponent Page - tuu jest dowolność, wiec pewnie prościej założyć komponent Page) guziki/paski/bóg wie co jeszcze pozwalające na onClick wyświetlić /ukryć dodatkowo B,C i D.
I o ile z B i C nie będzie problemu - wiem jak robić handler przełączajacy style między hidden! important i wyswietlającym - to problem robi się z D.
Propsy dla D powstają w funkcji render C i tego się raczej nie da przerobić.
Niestety nie jestem na etapie w którym mogłabym skutecznie wyeksportować stan w górę drzewa.tak aby d mógł go zassać bezpośrednio. Nie znam Reduxa ani Mobx a czasu mam tyle, że raczej nie zdążę skutecznie tego ogarnąć.
Czy nie ma tu jakiejś furtki/drogi na skróty?

0
  1. React 16 ma coś takiego jak portals: https://reactjs.org/docs/portals.html
  2. Nie wiem dokładnie jaki jest problem, ale czy chodzi o to by przerobić:
<div id="componentC"> -- ukrycie tego komponentu ukryje komponent wewnętrzny
  <div id="componentD">
  </div>
</div>

na

<div id="componentCwrapper">
  <div id="componentC"> -- to ukrywamy jak chcemy
  </div>
  <div id="componentD"> -- niezależnie od ukrywania tego komponentu
  </div>
</div>

?

0

Właściwie tak, chodzi o taką zamianę - dla mnie jest to problem o tyle, że musiałabym wysłać stan do wrappera a potem ściagnąć do bliżniaka. Przeczytam o tych portalach

0

Ostatecznie spłaszczyłam strukturę, było to mniej skomplikowane niż myslałam, tak, że temat do zamknięcia. A portals są ciekawe.

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