Chcę załadować zestaw danych z api przy użyciu sagi redux, ale nie mogę znaleźć przykładu, jak to zrobić, gdy nawigujesz do nowej trasy (np./Postów) przed renderowaniem trasy.Redux-saga wstępnie załadować dane dotyczące zmiany trasy
Jak to zrobić?
Chcę załadować zestaw danych z api przy użyciu sagi redux, ale nie mogę znaleźć przykładu, jak to zrobić, gdy nawigujesz do nowej trasy (np./Postów) przed renderowaniem trasy.Redux-saga wstępnie załadować dane dotyczące zmiany trasy
Jak to zrobić?
Można użyć onEnter
rekwizyt na Route
:
<Route path='posts' onEnter={() => store.dispatch({ type: 'FETCH_POSTS' })} />
W tym przypadku nie można korzystać ze sklepu w kontekście drzewo, które jest wkładana w Provider
. Musisz go zaimportować i użyć bezpośrednio.
Inną opcją jest zamiast przechodzącą component
rekwizyt, zdać getComponent
:
<Route path='posts' getComponent={(nextState, cb) => {
store.dispatch({ type: 'FETCH_POSTS' });
cb(null, PostList);
}} />
nie mogę powiedzieć jakie są plusy/minusy dla żadnego z tych podejść though ponieważ nigdy nie korzystali z nich. Po prostu próbowałem znaleźć rozwiązanie, które może działać w twoim przypadku użycia.
Czy zamierzasz czekać przed zmianą trasy, aby wniosek został wypełniony, w trakcie lub po? –
Czy kiedykolwiek znalazłeś odpowiedź na to pytanie? –
Ja również tego szukam, znalazłem ten projekt: https://github.com/jfairbank/redux-saga-router/, ale projekt nie jest naprawdę obsługiwany – BigDong