2016-06-19 9 views
5

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ć?

+0

Czy zamierzasz czekać przed zmianą trasy, aby wniosek został wypełniony, w trakcie lub po? –

+1

Czy kiedykolwiek znalazłeś odpowiedź na to pytanie? –

+0

Ja również tego szukam, znalazłem ten projekt: https://github.com/jfairbank/redux-saga-router/, ale projekt nie jest naprawdę obsługiwany – BigDong

Odpowiedz

0

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.

Powiązane problemy