Bezpośrednie wysyłanie thunk w Redux
Kiedy wysyłaliśmy akcje z komponentów,
używaliśmy hooka useDispatch, który
zwraca metodę store dispatch, ponieważ
w komponentach nie ma bezpośredniego dostępu do store.
Tym razem musimy pobrać obiekty
ze sprzedawcami i zrobić to raz przy
uruchomieniu naszej aplikacji. Możemy to
zrobić bezpośrednio z głównego pliku
main.jsx aplikacji, po tym jak
worker rozpocznie pracę.
Otwórzmy naszą aplikację z
produktami, a w niej plik main.jsx i
zaimportujmy do niego thunk fetchSellers:
import { fetchSellers } from './parts/sellers/sellersSlice'
W tym pliku mamy dostępny store,
więc nie są tu potrzebne żadne hooki i
możemy bezpośrednio skorzystać z
jego metody dispatch. Dodajmy po
linijce:
await worker.start({ onUnhandledRequest: 'bypass' })
Następującą:
store.dispatch(fetchSellers())
Uruchommy naszą aplikację. Teraz w kartach z produktami podani są również sprzedawcy:
Otwórz twoją aplikację ze studentami.
Otwórz w niej plik main.jsx. Zaimportuj
do niego twój thunk fetchTeachers i wyślij
go bezpośrednio metodą store.dispatch.