2017-11-29 4 views
0

私はreact-router-4を使用していますが、このバージョンの対応するreact-router-reduxはまだ安定していません。私はhistoryredux-observable epicからアクセスできる方法があれば好奇心が強いです。例:次に、あなたの叙事詩でそれをインポートreact-router-redux以外の叙事詩からルータ履歴にアクセスする別の方法はありますか?

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

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 {} 
    }) 
} 

答えて

0

createHistory()をエクスポートhistory.jsファイルを作成します

// 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 {} 
    }) 
} 

はあなたの<Router />に歴史の小道具を設定することを忘れないでください。 :

import history from './history' 

<Router history={history}>...</Router> 
関連する問題