可以在Action Creator中使用withRouter包装组件,并将history对象作为参数传递给Action Creator。这样,我们可以在Action Creator中使用history.push()方法并导航到新页面。
假设我们有一个名为MyComponent的组件,我们可以按如下方式使用withRouter:
import { withRouter } from 'react-router-dom';
class MyComponent extends React.Component {
// ...
}
export default withRouter(MyComponent);
然后,在我们的Action Creator中,我们可以像这样使用history:
import { push } from 'connected-react-router'; // 或 import { push } from 'react-router-redux';
function myActionCreator() {
// ...
return (dispatch, getState) => {
// 执行我们的代码...
dispatch(push('/new-route')); // 此处使用history.push()方法,导航到 '/new-route'
};
}
这样,我们可以使用Action Creator中的history.push()方法,并将页面导航到新的URL。