Прамая адпраўка 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())

Запусцім наша прыкладанне. Цяпер у картках з прадуктамі паказаны і прадаўцы:

Задание 1

Адкрыйце ваша прыкладанне са студэнтамі. Адкрыйце ў ім файл main.jsx. Імпартуйце ў яго ваш thunk fetchTeachers і адпраўце яго непасрэдна метадам store.dispatch.