Version: "reagieren-Router-dom": "^ 4.1.2", "reagieren-Router-Redux": "^ 5.0.0-alpha.8",reagieren, wie Router in redux-saga zu navigieren?
i-Router erfolgreich navigieren kann in meinem Komponente, die durch diese Art und Weise:
this.props.history.push('/cart')
dann habe ich versucht, navigieren möchte Router in meinem saga.js, ich einige Möglichkeiten, und sie alle nicht funktioniert:
const history = createHistory();
yield call(history.push, '/cart')
yield call(put('/cart)//react-router-redux
history.push('/cart')
diese Weise die uRL ändern können, aber die Seite würde nicht rendern. Ich füge die Seitenkomponente withRouter hinzu, und es funktioniert auch nicht. kann mir jemand helfen, danke!
hier ist meine einige Einstellungen:
const render = Component =>
ReactDOM.render(
<Provider store={store}>
<AppContainer>
<Component />
</AppContainer>
</Provider>
,
document.getElementById('root')
);
class App extends Component {
render() {
return (
<ConnectedRouter history={history}>
<div>
<Header/>
<Nav/>
<ScrollToTop>
<Route render={({location}) => (
<ReactCSSTransitionGroup
transitionName="fade"
transitionEnterTimeout={300}
transitionLeaveTimeout={300}>
<div key={location.pathname} className="body">
<Route location={location} exact path="/" component={HomePageContainer}/>
<the other component>
.....
</div>
</ReactCSSTransitionGroup>)}/>
</ScrollToTop>
<Footer/>
</div>
</ConnectedRouter>
)
}
}
================================= ==========================
Ich habe dieses Problem auf diese Weise behoben: Benutzer Router anstelle von BroswerRouter, und dann
history.push('/somerouter')
Mögliche Duplikat [Mit redux-Saga mit reagieren-Router] (https://stackoverflow.com/questions/45878719/ using-redux-saga-mit-react-router) –
ja, ich habe diese Frage gesehen, und es funktioniert nicht für mich, Seite würde nicht rendern –