Use history.push en el creador de acciones con reactjsr-enrutador-v4?

El único método de trabajo que encontré para resolver esto sin usar react-router-redux enrutar react-router-redux para enrutar desde la action creator async action de action creator async action es pasar el apoyo de history del componente al creador de acciones y hacer:

 history.push('routename'); 

Como BrowserRouter ignora el apoyo histórico pasado a él, no podemos usar objetos de historial personalizados con browserhistory.

¿Cuál es la mejor manera de resolver esto?

En lugar de utilizar BrowserRouter , podría usar el Router con historial personalizado como

 import { Router } from 'react-router' import createBrowserHistory from 'history/createBrowserHistory' export const history = createBrowserHistory()    

en cuyo caso su history.push() funcionará. Con BrowserRouter history.push no funciona porque Crear un nuevo browserHistory no funcionará porque crea su propia instancia de historial y escucha los cambios en eso. Entonces, una instancia diferente cambiará la url pero no actualizará el .

Una vez que haya creado un history personalizado, puede exportarlo y luego importarlo en su action creator y usarlo para navegar dinámicamente como

 import { history } from '/path/to/index'; const someAction = () => { return dispatch => { ApiCall().then((res) => { dispatch({type: 'SOME_CALL', payload: res }) history.push('/home'); }) } }