Cześć, czy ktoś by mógł spojrzeć na mój projekt i podać kilka wskazówek? https://github.com/discoStar711/react-app
Wiem, że jest tutaj wielu doświadczonych i pomocnych programistów. Aplikacja pobiera wpisy z 3 kont na twitterze i wyświetla w 3 kolumnach. Za pomocą formularza można zmieniać układ kolumn i wyświetlać wpisy z danych dat oraz wybrać liczbę tweetów do wyświetlnia.
Teraz nie jestem pewien co dalej. Stworzyłem formularz client/src/component/layoutForm.js
za pomocą, którego chcę zmieniać widok na stronie głównej aplikacji (zmieniać układ kolumn, filtrować tweety z danych dni i max. liczbę tweetów).
Jeśli nie ma żadnych ustawień w localStorage
to chcę wyrenderować DefaultView
jeśli są to zgodnie z tymi ustawieniami chciałbym wyrenderować CustomView
z różnymi ustawieniami.
-
Na razie logikę do wyrenderowania widoku trzymam w
TwitterList
, ale docelowo chciałbym dać doLayoutViewResolver
, który by wyrenderował alboDefaultView
alboCustomView
. Czy to jest dobre posunięcie i prosiłbym o wskazówki jak to zrobić. -
Jak przekazać te 4 parametry do
CustomView
i jak napisać logikę by nie róbić if'a na każdy przypadek?<CustomView order={passOrder} startDate={passStartDate} endDate={passEndDate} tweetsAmount={passTweetsAmount} />
coś takiego? Czy źlę myślę? -
Nie wiem też jak sprawdzić czy
localStorage
jest pusty.twitterList.js
linia 25 wydaję się nie działać, próbowałem teżlayoutSettings = null
ilayoutSettings === null
i zawsze zwraca<h1>Custom</h1>
wLayoutViewResolver
. Nie wiem też czy to jest dobry sposób by zdecydować czy wyrenderowaćDefaultView
czyCustomView
. -
Czy mój kod nie jest zbyt proceduralny? Dotychczas programowałem w Javie i ciężko mi się przestawić na JS
Componenty w aplikacji:
App
wyświetla formularz i widok z tweetami.
LayoutForm
formularz z ustawieniami, zapisuje ustawienia do localStorage
TwitterList
pobiera ustawienia z localStorage
i wyświetla widok defaultowy lub customowy
LayoutViewResolver
chciałbym przenieść logikę wybierania widoku do wyświetlenia tutaj i przesłać ustawienia do CustomView
Przepraszam za bazgroły w kodzie i za wiadomości do commitów.