Javascript react redux路由器在未定义的操作中
我的react redux工作流程如下: 我的Javascript react redux路由器在未定义的操作中,javascript,reactjs,react-router,redux,Javascript,Reactjs,React Router,Redux,我的react redux工作流程如下: 我的action.js export function loginSuccess(response){ return (dispatch, getState) => { console.log(getState()) dispatch({ response, type: LOGIN }) console.log(getState()) router.transitionTo("/profile
action.js
export function loginSuccess(response){
return (dispatch, getState) => {
console.log(getState())
dispatch({ response, type: LOGIN })
console.log(getState())
router.transitionTo("/profile")
};
}
const routes = (
<Router history={browserHistory}>
<Route path="/" component={App}>
<IndexRoute component={Login} />
<Route name="profile" path="/profile" component={Profile} />
</Route>
</Router>
)
export default routes
我有routes.js
export function loginSuccess(response){
return (dispatch, getState) => {
console.log(getState())
dispatch({ response, type: LOGIN })
console.log(getState())
router.transitionTo("/profile")
};
}
const routes = (
<Router history={browserHistory}>
<Route path="/" component={App}>
<IndexRoute component={Login} />
<Route name="profile" path="/profile" component={Profile} />
</Route>
</Router>
)
export default routes
当执行此操作时,会出现错误路由器未定义
这里怎么了?为什么我会犯这个错误?我已经在我的提供者中提供了这个.props
任何人都可以引导我通过这个。。。撞到我的头。您试图访问loginsucess
函数中名为路由器的对象,除非它是全局变量,否则会抛出类型错误
您需要将其传递给您的loginsucess
函数才能使其工作
function loginSuccess(response, router) {
router.transitionTo('/');
}
我已将其作为this.props传递
如何在调用方法中获取路由器
?我从另一个从DOM调用的操作启动此操作。。在那里我做了const{router}=getState()。router
并且我喜欢dispatch(loginsaccess(response,router)
。这是一种方法吗?是的。这是一种方法:)我这样做了,它说transitiono没有定义。。或者transitiono不是我喜欢的函数getState().router.transitiono(“/profile”)