Прямая отправка 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
.