Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.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
Reactjs redux中的调度操作出现错误';[反应路由器]您无法更改<;路由器路由>;;它将被忽略_Reactjs_React Router_React Redux_Redux Thunk - Fatal编程技术网

Reactjs redux中的调度操作出现错误';[反应路由器]您无法更改<;路由器路由>;;它将被忽略

Reactjs redux中的调度操作出现错误';[反应路由器]您无法更改<;路由器路由>;;它将被忽略,reactjs,react-router,react-redux,redux-thunk,Reactjs,React Router,React Redux,Redux Thunk,我正在我的应用程序中使用reactjs、ReactRouter和redux。我正在使用异步操作,下面是我的action.js代码 signUser(state,user) { return function (dispatch){ return dispatch(requestSignUp()); } } export default function requestSignUp(){ return { type: Actions.REQUEST,

我正在我的应用程序中使用reactjs、ReactRouter和redux。我正在使用异步操作,下面是我的action.js代码

  signUser(state,user) {
    return function (dispatch){
      return dispatch(requestSignUp());
    }
  }


export default function requestSignUp(){
 return {
   type: Actions.REQUEST,
   signUserReducer:{
    action: Actions.REQUEST
   }
  }
 }
下面是我的store.js代码

const reducer = combineReducers(reducers);
let finalState = compose(applyMiddleware(thunk, logger()))(createStore)

export default function configureStore(initialState) {
  return finalState(reducer, initialState);
}
下面是我的reducer.js代码

export default function signUserReducer(state = initialState, action) {

if (typeof state == 'undefined') {
    return state;
}

switch (action.type) {

    case Actions.REQUEST:
        return Object.assign({}, state, {
            action: action.signUserReducer.action
        });
    default:
        return state;
}
}
现在,每当我分派操作时,浏览器控制台上都会显示一个错误

警告:[反应路由器]您无法更改“路由器路由”;它将被忽略


我尝试用“react router redux”解决这个问题,但没有解决问题。

这是redux创建者的答案,他继续说,我认为这很有意义

好的第一步是再次查看错误消息。它是 不是随机错误;它实际上告诉我们发生了什么。上面说
Router
组件无法接受
routes
prop的新值。这意味着 每次渲染根时,都会重新创建新路由 组件,而不是在应用的生命周期中创建一次, 这是React路由器打算支持的场景。结论 您需要查看渲染路由器组件的位置, 并且确保不要在每个渲染上创建路由


你能把代码中定义路线的部分贴出来吗?问题很可能就在那里。@AbhishekJain:render(){const{store,history}=this.props return()}@AbhishekJain我已经实现了react-redux路由器,但每当我通过分派操作时,它都会出现同样的错误,看看这是否有帮助。这是react router的一个常见问题。@AbhishekJain:如何将道具传递给此常量路由..那么我们如何解决此问题:/@JamieHutber使
常量路由
在渲染外保持常量,并包含类似
{routes}
,请参见上面的注释谢谢您回到我这里:D奇怪的是,我已经这样做了,这一定是我设置的其他方式。我将继续digyes,这在我的应用程序中帮助了我,@DennisDecene如果您需要帮助,请共享您的代码hand@vitr,我打开了另一个问题,与此相关的代码链接,请参阅