2016-04-06 4 views
2

私はreactjs、反応ルータを使用しています&私のアプリケーションで還元。私は私のaction.jsコードがreduxのディスパッチアクションでエラーが発生しました '[react-router] <Router routes>を変更することはできません。それは無視されます

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


export default function requestSignUp(){ 
return { 
    type: Actions.REQUEST, 
    signUserReducer:{ 
    action: Actions.REQUEST 
    } 
    } 
} 

以下であることは後

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

export default function configureStore(initialState) { 
    return finalState(reducer, initialState); 
} 

私store.jsコードで、非同期アクションを使用して、次のよと、私の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] 'Router routes'を変更することはできません。それは無視されます

私はこれを 'react-router-redux'で解決しようとしましたが、解決しません。ここ

+0

ルートを定義するコードの部分を投稿することはできますか?問題はおそらくそこにあります。 –

+0

@AbhishekJain:{)( CONST {店、履歴} = this.props リターン( <プロバイダストア= {店}> <ルータ履歴= {履歴}> <ルートパス= "/" ディスパッチをレンダリング= {} this.props.dispatch応答= {this.props.signUserReducer}成分= {サインイン} /> <ルートパス= "サインアップ" 成分= {サインアップ} /> ) } – ghost

+0

@AbhishekJain私はreact-redux-routerを実装しましたが、ディスパッチするアクションを渡すたびにも同じエラーが返されます。 – ghost

答えて

2

はReduxの作成者からの答えは、彼はgithubに残って、私が思うに、それは多くの意味

が良い最初のステップは、エラーメッセージに再び見えるようになります。それは で、ランダムエラーではありません。それは実際に何が起こったかを伝えます。それは Routerコンポーネントはroutes小道具の新しい値を受け入れることができないと言います。これは、ルータ コンポーネントをレンダリングするたびに新しいルートを再作成していることを意味します。これは、アプリケーションのライフタイムの間に1度作成するのではなく、 リアクタルーターがサポートしようとしているシナリオです。結論 ルータコンポーネントをレンダリングする場所を調べる必要があります。 とは、すべてのレンダリングでルートを作成しないようにしてください。

+0

これを修正するにはどうすればいいですか:/ –

+0

@JamieHutber 'const routes'をレンダリングの外側で定数にして' {routes} 'のように入れると、上記のコメントが表示されます – vitr

+0

私に戻ってくれてありがとう:D奇妙なことに、それは私が設定している方法で何か他のものでなければなりません。私は掘り続ける –

関連する問題