2

現在、react + redux + saga + react-router 3アプリケーションをリファクタリングして、新しい反応ルータ4を使用するように変更しています。私がbrowserHistoryを使用して、サガの結果に基づいて適切なパスに誘導する前に。反応ルータ4の変更のために、私はもうbrowserHistoryを使用できません。反応ルータreduxと一緒に使用するための佐賀のstore.dispatchへのアクセス

私はreact-router-reduxを組み込んで、本質的にbrowserHistoryのことをやりました。問題は、react-router-reduxがstore.dispatch内でのみ動作することです。 store.dispatch(push( '/'))。私は店の中にアクセスする方法や私のサガの中のディスパッチ機能を見つけることができないようです。どのように佐賀の中でstore.dispatchにアクセスする上の任意のアイデア?私は根本的なサガで議論を渡すことができますが、私は実際のサガでそれらを取得する方法はわかりません。

答えて

1

redux-sagaのputエフェクトを使用します。これは、還元アクションをストアに送信します(docs)。 (エラー){ 収量プット(accountSaveFailed(エラー)) }他{ 降伏プット(派遣(場合のconst {エラー} =降伏コール(saveAccount) :私はこのような何かをする必要があり

import { call, put } from 'redux-saga/effects' 
// ... 

function* fetchProducts() { 
    const products = yield call(Api.fetch, '/products') 
    // create and yield a dispatch Effect 
    yield put({ type: 'PRODUCTS_RECEIVED', products }) 
} 
+0

プッシュ( '/ details'))) } –

+1

putは発送+利回りです。あなたは 'yield put((push( '/ details'))'(条件の残りの部分は同じままです)を必要とします。 –

関連する問題