Прямая отправка thunk в Redux

Когда мы отправляли экшены из компонентов, то пользовались хуком useDispatch, который возвращает метод store dispatch, поскольку в компонентах нет прямого доступа к store.

На этот раз нам нужно получить объекты с продавцами и сделать это один раз при запуске нашего приложения. Мы можем это сделать прямо из главного файла main.jsx приложения, после того как worker начнет работу.

Давайте откроем наше приложение с продуктами, а в нем файл main.jsx и импортируем в него thunk fetchSellers:

import { fetchSellers } from './parts/sellers/sellersSlice'

В этом файле у нас доступен store, поэтому никаких хуков здесь не нужно и мы можем напрямую воспользоваться его методом dispatch. Давайте после строчки:

await worker.start({ onUnhandledRequest: 'bypass' })

Добавим следующую:

store.dispatch(fetchSellers())

Запустим наше приложение. Теперь в карточках с продуктами указаны и продавцы:

Откройте ваше приложение со студентами. Откройте в нем файл main.jsx. Импортируйте в него ваш thunk fetchTeachers и отправьте его неспосредственно методом store.dispatch.



Чат с GPT Компилятор