2017-11-27 3 views
0

Ich habe eine Nutzlast im Redux-Speicher gespeichert. Ich konnte nicht auf das Geschäftsobjekt zugreifen. Wie erreiche ich das Objekt store? Ich wollte mit redux-saga darauf zugreifen. Ich habe sogar versucht mit normalem redux auf den Laden zuzugreifen aber konnte nicht!Wie man Daten vom Speicher in redux-saga holt?

+0

Verwenden Sie den 'Select'-Effekt. Checkout ist eine Beschreibung in der API-Dokumentation: https://redux-saga.js.org/docs/api/ – chautelly

Antwort

0

Ich wollte es von redux-saga zugreifen. Ich habe sogar versucht mit normalem redux auf den Laden zuzugreifen aber konnte nicht!

Im allgemeinen Fall redux-saga vereint zwei Dinge - redux Middleware und unabhängigen Prozess-Manager. Wenn Sie nur mit internem Redux-Status abrufen und direkt manipulieren müssen, ohne Prozessverwaltung, ist es wahrscheinlich besser, eigene einfache Middleware (https://redux.js.org/docs/advanced/Middleware.html) zu schreiben und sie vielleicht mit Saga zu verfassen.

Natürlich können Sie einfach select Effekt (https://redux-saga.js.org/docs/api/#selectselector-args) verwenden. aber nehmen Sie zur Kenntnis, dass Middleware zuerst die Aktion an die Reduzierer weiterleitet und dann die Sagas benachrichtigt. Das heißt, wenn Sie den Status des Informationsspeichers abfragen, erhalten Sie den Status, nachdem die Aktion angewendet wurde.
Am wahrscheinlichsten ist es besser, obligatorische Informationen Info aktuelle saga 's Schließung zu speichern, zum Beispiel, bevor while-true Schleife in dedizierten Saga-Prozess.

function * someSaga() { 
    const localState = {}; 
    while(true) { 
     const action = yield take('ACTION_PATTERN'); 
     // some logic 
     yield put('SOME_AFTER_ACTION') 
    } 
} 
Verwandte Themen