Hejto.pl
Dodaj post

Wpisz coś do wyszukania (minimum 2 znaki)

Wpis użytkownika BoloMaster w Programowanie

Debiutant

w Programowanie

2piorunów

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.

Komentarze (2)

Kompan2piorunów

@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 :smiley:

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

Specjalista1piorunów

@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ś.