/ / Zugriff auf store.dispatch in einer Saga für die Verwendung mit Reakt-Router-Redux - Reaktjs, Reakt-Router, Reakt-Router-Redux, Redux-Saga, Reakt-Router-v4

Zugriff auf store.dispatch in einer Saga zur Verwendung mit react router redux - reactjs, react-router, react-router-redux, redux-saga, react-router-v4

Ich ändere gerade eine Reaktion + Redux + Saga+ Reakt-Router 3-Anwendung, um den neuen Reakt-Router 4 wegen brechender Änderungen zu verwenden. Vorher würde ich browserHistory verwenden, um zu einem geeigneten Pfad zu gelangen, der auf den Ergebnissen einer Saga basiert. Aufgrund der Änderungen des Reaktorrouters 4 kann ich browserHistory nicht mehr verwenden.

Jetzt habe ich Reakt-Router-Redux eingebautim Wesentlichen tun, was browserHistory tat. Das Problem ist, dass React-Router-Redux nur innerhalb eines store.dispatch funktioniert, z. store.dispatch (drücken ("/")). Ich kann anscheinend keinen Weg finden, um entweder auf den Laden oder auf die Versandfunktion in meinen Sagen zuzugreifen. Irgendwelche Ideen, wie man innerhalb einer Saga auf store.dispatch zugreifen kann? Ich weiß, dass Sie Argumente in der Wurzelsaga übergeben können, aber ich weiß nicht, wie ich sie in meinen eigentlichen Sagen abrufen kann.

Antworten:

3 für die Antwort № 1

Verwenden Sie Redux-Saga put Wirkung, die Redux-Aktionen an den Store sendet - Dokumente.

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 })
}