मैं एक गाथा समारोह के अंदर redux राज्य का उपयोग कैसे करूं?

संक्षिप्त उत्तर:

import { select } from 'redux-saga/effects';
...
let data = yield select(stateSelectorFunction);
151
Adam Tal 12 जून 2016, 12:53

2 जवाब

मैंने जेनरेटर फ़ंक्शन के भीतर कॉलबैक से एक क्रिया भेजने के लिए एक ईवेंट चैनल का उपयोग किया

import {eventChannel} from 'redux-saga';
import {call, take} from 'redux-saga/effects';

function createEventChannel(setEmitter) {
    return eventChannel(emitter => {
        setEmitter(emitter)
        return () => {

        }
      }
    )
}

function* YourSaga(){
    let emitter;
    const internalEvents = yield call(createEventChannel, em => emitter = em)

    const scopedCallback = () => {
        emitter({type, payload})
    }

    while(true){
        const action = yield take(internalEvents)
        yield put(action)
    }
}
3
yardenapp 17 अक्टूबर 2019, 15:34

यही "चयनकर्ता" कार्यों के लिए है। आप उन्हें पूरे राज्य का पेड़ देते हैं, और वे राज्य का कुछ हिस्सा वापस कर देते हैं। चयनकर्ता को कॉल करने वाले कोड को यह जानने की ज़रूरत नहीं है कि डेटा किस स्थिति में था, बस उसे वापस कर दिया गया था। देखें http://redux.js.org/docs/recipes/ComputingDerivedData.html कुछ उदाहरणों के लिए।

एक गाथा के भीतर, select() API चयनकर्ता को निष्पादित करने के लिए का उपयोग किया जा सकता है।

38
Nathan Tuggy 29 अप्रैल 2017, 08:23
यह दिलचस्प है कि यह स्वीकृत उत्तर से पहले 3.5 घंटे कैसे लिखा गया था, लेकिन यह एक उदाहरण प्रदान नहीं करता था, इसलिए इसे स्वीकार करने में विफल रहा। वैसे भी शुक्रिया!
 – 
Aleksandar
27 जून 2019, 17:00
1
- मैं सहमत हूँ! लेकिन यह इस बारे में नहीं है कि आप यहां किसी प्रश्न का कितनी तेजी से उत्तर देते हैं बल्कि आपका उत्तर कितना अच्छा है। मुझे लगता है कि उत्तरों को सरल और पढ़ने में आसान रखा जाना चाहिए। यह उत्तर उससे मेल नहीं खाता और स्वीकृत उत्तर को समझना बहुत आसान था।
 – 
Adam Tal
16 जुलाई 2019, 10:27
हाँ मैं सहमत हूँ :)
 – 
Aleksandar
17 जुलाई 2019, 10:25