Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript react redux路由器在未定义的操作中_Javascript_Reactjs_React Router_Redux - Fatal编程技术网

Javascript 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

我的react redux工作流程如下:

我的
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”)