2017-11-29 3 views
0

Ich benutze react-router-4 und der entsprechende react-router-redux für diese Version ist noch nicht stabil. Ich bin gespannt, ob es Möglichkeiten gibt, ich history von redux-observable Epos zugreifen kann. Beispiel:Gibt es eine andere Art und Weise Router Geschichte von einem epischen zuzugreifen neben reagieren-Router-Redux?

export function profileDropdownEpic (action$, { getState, dispatch }{ 
    return action$.ofType('SET_SELECTED_ITEM') 
    .mapTo(() => { 
     const selectedItem = getState().listDropdown.get('SelectedItem') 
     if (selectedItem === 'logout') { 
     history.push('/login') 
     } 
     return {} 
    }) 
} 

Antwort

0

Erstellen Sie eine Datei, die history.jscreateHistory() exportiert:

// history.js 
import createHistory from 'history/createBrowserHistory' 
export default createHistory() 

Dann importieren Sie es in Ihrem Epos:

// epics.js 
import history from './history'  

export function profileDropdownEpic (action$, { getState, dispatch }){ 
    return action$.ofType('SET_SELECTED_ITEM') 
    .mapTo(() => { 
     const selectedItem = getState().listDropdown.get('SelectedItem') 
     if (selectedItem === 'logout') { 
     history.push('/login') 
     } 
     return {} 
    }) 
} 

Vergessen Sie nicht die Geschichte Requisiten in Ihrem <Router /> einstellen :

import history from './history' 

<Router history={history}>...</Router> 
Verwandte Themen