[英]react redux router in not defined in action
我的反应redux工作流程如下:
我的action.js
export function loginSuccess(response){
return (dispatch, getState) => {
console.log(getState())
dispatch({ response, type: LOGIN })
console.log(getState())
router.transitionTo("/profile")
};
}
我有routes.js
const routes = (
<Router history={browserHistory}>
<Route path="/" component={App}>
<IndexRoute component={Login} />
<Route name="profile" path="/profile" component={Profile} />
</Route>
</Router>
)
export default routes
和我的root.js
class Root extends Component {
render() {
const { store } = this.props
return (
<Provider store={store}>
<ReduxRouter />
</Provider>
)
}
}
Root.propTypes = {
store: PropTypes.object.isRequired
}
export default Root
这样做时给我的错误router
没有定义?
这是怎么了 为什么会出现此错误? 我已经在Provider
提供了this.props
。
任何人都可以引导我完成此任务……
您试图在loginSuccess
函数中访问一个名为router
的对象,该对象除非是全局变量,否则将引发TypeError。
您需要将其传递给您的loginSuccess
函数以使其起作用。
function loginSuccess(response, router) {
router.transitionTo('/');
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.