React.js, początkowe dane w Store

0

Witam,
zaznaczam, że dopiero zaczynam zabawę z React + Redux.
Moje pytanie dotyczy danych początkowych. Tworząc store definiuje sobie początkowe dane. W tutorialach jest to zazwyczaj jakiś JSON. W mojej małej aplikacji, na stronie głównej, tak na prawdę nie wyświetlam prawie nic, dopiero wchodząc w podstronę drużyny wyświetlam listę ponad 600 drużyn piłkarskich wraz z dodatkowymi danymi do nich, takimi jak np. statystyki czy komentarze. Te dane pobieram z bazy danych i jest to całkiem spora(?) dawka danych, 600 drużyn i każda może mieć X komentarzy. Tak więc czy powinienem rzeczywiście pobierać te dane od razu przy inicjalizacji aplikacji i pakować je do store, czy dopiero jeśli ktoś wejdzie w listę drużyn to pobierać poprzez reducer ? Nie wiem czy to dobra praktyka aby w store były dane, które mogą być użytkownikowi nigdy niepotrzebne.

1

Moim zdaniem nie powinieneś. To co powinieneś zrobić, to nie ciągnąć na raz 600 drużyn, tylko np. 10 (czy ile tam jesteś w stanie wyświetlić na pierwszej stronie) i Twój response powinien wyglądać tak:

{
   "data":[
      {
         "id":"6c84fb90-12c4-11e1-840d-7b25c5ee775a",
         "name":"Liverpool"
      },
      {
         "id":"6c84fb90-12c4-11e1-840d-7b25c5ee775a",
         "name":"Chelsea"
      }
   ],
   "paging":{
      "previous":"https://moje.api.com/teams?limit=2&page=1",
      "next":"https://moje.api.com/teams?limit=2&page=2"
   }
}

i za pomocą linków previous/next tworzysz paginację.

0

No tak właśnie też mi się wydaje, że tak powinno to być rozwiązywane, ale żaden tutorial jaki przerobiłem tej kwestii nie porusza. Mam jeszcze pytanie, czy podczas przechodzenia na drugą stronę, mam dopisywać zespoły do tych z pierwszej strony czy zastępować dane w store ?

0

Ja bym to trzymał z użyciem normalizr. Możesz je dopisywać, zastanów się czy to ma w Twoim przypadku sens (czy jak ktoś wróci na poprzednią stronę to bedziesz musiał tak czy siak zaczytać ponownie te zespoły, bo np. ktos zaktualizował nazwę, czy też nie) i podążaj za głosem rozsądku :D Polecam też zobaczyć to https://github.com/tommikaikkonen/redux-orm

0

Swojego czasu też się męczyłem z paginacją w Redux...wszyscy polecają zaczytać wszystko na raz...jakaś porażka. Ale poczekaj jak dojdziesz do modala w Redux :-)

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