Hej, może ktoś mi to wyjaśni bo już przejrzałem parę materiałów i mam totalny mętlik.Chciałbym aby po kliknięciu buttona wyskoczył modal, w obrębie 1 komponentu wszystko działa. Gdy chcę odpalić go w innym komponencie, to nic się nie dzieje.
#programowanie #react
b6f9fbc0-9d2e-4dc2-b800-6b472862a7f2
satrix321

@BoloMaster ale co Ty tu dokładnie próbujesz zrobić na drugim screenie? Na pierwszym wygląda wszystko ok, ale na drugim to gdzie masz ten komponent z modalem? Nie widzę żebyś go użył. Do tego ten komponent po lewej trzyma stan sam w sobie, także musiałbyś go najpierw przerobić żeby w propsach przyjmował jakiegoś booleana czy coś.

dysonans_poznawczy

@BoloMaster

  1. Twój komponent RemovePostModal nie przyjmuje żadnych propsów ani nie używa kontekstu, więc nie ma jak nim sterować z zewnątrz. Jedyne co możesz z nim zrobić to wyświetlić go jakimś miejscu za pomocą <RemovePostModal />

  2. W SinglePost.js w linii 35, odwołujesz się do props.handleShow, jak mniemam chciałeś w ten sposób wyświetlić okno, ale przez props odwołujesz się do propsów komponentu SinglePost dlatego to nie ma prawa zadziałać (chyba że to jakiś inne handleShow


Można to zrobić tak: Stan widoczności modala przenosisz do SinglePost. RemovePostModal dostaje propsa visible i w zależności od niego albo się wyświetla albo nie. Dodatkowo i tak musisz do modala przesłać albo id posta do usunięcia albo callback, który danego posta usunie. Poczytaj to: https://beta.reactjs.org/learn

Zaloguj się aby komentować