Прямая отправка thunk в Redux
Когда мы отправляли экшены из компонентов, то
пользовались хуком useDispatch, который
возвращает метод store dispatch, поскольку
в компонентах нет прямого доступа к store.
На этот раз нам нужно получить объекты
с продавцами и сделать это один раз при
запуске нашего приложения. Мы можем это
сделать прямо из главного файла
main.jsx приложения, после того как
worker начнет работу.
Давайте откроем наше приложение с
продуктами, а в нем файл main.jsx и
импортируем в него thunk fetchSellers:
main.jsximport { fetchSellers } from './parts/sellers/sellersSlice'
В этом файле у нас доступен store,
поэтому никаких хуков здесь не нужно и
мы можем напрямую воспользоваться
его методом dispatch. Давайте после
строчки:
main.jsxawait worker.start({ onUnhandledRequest: 'bypass' })
Добавим следующую:
main.jsxstore.dispatch(fetchSellers())
Запустим наше приложение. Теперь в карточках с продуктами указаны и продавцы:
Откройте ваше приложение со студентами.
Откройте в нем файл main.jsx. Импортируйте
в него ваш thunk fetchTeachers и отправьте
его неспосредственно методом store.dispatch.