Wpis z mikrobloga

Przypuścimy że mam w store listę obiektów o jakiś tam atrybutach.
W komponencie statistics biorę sobie tą listę z reduxStore i chcę z niej wyciągnąć info żeby wyświetlić pewne statystyki.
np. remaining time na podstawie tych obiektów czy też doneTasks.

Komponent Statistics wyświetla dokładnie trzy informacje na ten temat przyjmijmy:
ilość,długość,wielkość - na podstawie danych z useSelectora ze store.

Jak najlepiej rozwiązać takie coś ? Chodzi mi o kwestie ładnego i logicznego kodu + wykonania.

Zrobiłem sobie customHook, który ma w sobie selektory. Z custom hooka na gotowo exportuję już te 3 statystyki. W komponencie statistics wywołuje sobie customHooka. Mój custom hook niestety nie jest reusable. Nie exportuję funkcji settera itp. Także działa tylko dla tych selektorów.

Jest coś takiego jak lib Reselect - działa podobnie jak selector jednak posiada memoize oraz można umieszać w nim logikę.
Mógłbym nie tworzyć customHooka tylko w komponencie widoku statistics zrobić customSelectory poprzez CreateSelector.
To ma wadę mam logikę w komponencie.

I takie mi się pytania w głowie kreują że im więcej narzędzi znam, tym mogę zrobić coś na kilka sposobów - tylko który jest ok?

Akcje odpadają, w store przechowuję surową listę obiektów z której wyciągam dane. Wydaje mi się że powinien być tutaj użyty selektor.

I pytanie dodatkowe, robienie custom Hooków które nie mają setterów czyli są jakby to powiedzieć upośledzone - ma sens? To tak jakbym normalną funkcję tworzył.

Mógłbym jeszcze zastosować customHook który ma settera i wrzucać do setera selector wewnątrz komponentu statistics. Pozwoliłoby mi to pracować także na innej liście i wyciągać z niej dane.

#redux #reselect #selector #programowanie #javascript #react