Redux-Saga

Redux-Saga è una libreria middleware che gestisce attività asincrone con effetti collaterali, come API. Inoltre, siamo in grado di leggere lo stato e chiamare azioni su Saga. Utilizza le funzioni del generatore per eseguire attività asincrone.

Quanto segue illustra il motivo per cui utilizziamo Saga e come installarlo. Quindi, vengono discussi utili metodi Saga per la gestione delle API.

Perché stiamo usando Redux-Saga?

Il compito principale della Saga è gestire le chiamate API e aggiornare lo stato in base alla risposta degli endpoint! Uno dei principali vantaggi di redux-saga è la facilità di test.

Prima di lavorare con Redux-Saga, dovresti avere familiarità con Redux.

Come installare Redux-saga?

Ci sono due modi per installare redux-saga in base al tuo gestore di pacchetti:

npm install redux-saga

yarn add redux-saga

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

function* fetchUser(action) {
    try {
        const user = yield call(Api.fetchUser, action.payload.userId);
        yield put({type: "USER_FETCH_SUCCEEDED", user: user});
    } catch (e) {
        yield put({type: "USER_FETCH_FAILED", message: e.message});
    }
}

function* mySaga() {
    yield takeEvery("USER_FETCH_REQUESTED", fetchUser);
}

export default mySaga;

L'API può essere qualcosa del genere:

import axios from 'axios';

const Api = {
    fetchUser: (userId) => {
        return axios.get(`...?userId=${userId}`)
    }
};

export default Api;

import { createStore, applyMiddleware } from 'redux'
import createSagaMiddleware from 'redux-saga'

import reducer from './reducers'
import mySaga from './sagas'

const sagaMiddleware = createSagaMiddleware();

const store = createStore(
    reducer,
    applyMiddleware(sagaMiddleware)
);

sagaMiddleware.run(mySaga);

Metodi della saga

I metodi più utilizzati verranno spiegati di seguito:

Selezionare

Si legge dal selettore (stato), ecco un esempio della chiamata selezionata.

const userId = yield select(userSelectors.getUserId);

Invia azioni, ad esempio:

yield put({type: "USER_FETCH_SUCCEEDED", user: user});

Chiama una funzione asincrona, come API, ad esempio:

const user = yield call(Api.fetchUser, action.payload.userId);

Controlla ogni invio di azione per chiamare una funzione del generatore.

yield takeEvery("USER_FETCH_REQUESTED", fetchUser);

È lo stesso di takeEvery, l'unica differenza è che quando la chiamata precedente è in sospeso non chiama più.

yield takeLatest("USER_FETCH_REQUESTED", fetchUser);

Redux-saga è una libreria per la gestione delle attività asincrone in redux. In questo articolo, viene discusso perché e come utilizzare Saga e i metodi.

Suggested posts

Il ruolo cruciale della "chiave" nella mappatura degli array

Il ruolo cruciale della "chiave" nella mappatura degli array

Se sei qualcuno che tende a ignorare il messaggio di avviso "ogni elemento dovrebbe avere una chiave univoca" durante la mappatura di un array in React, è importante prendersi un momento per capire perché questo avviso viene generato in primo luogo. In React, quando si esegue il rendering di un elenco di elementi utilizzando il metodo "Array.

Architettura API: chiamate sincrone, asincrone e parallele

Architettura API: chiamate sincrone, asincrone e parallele

Un corso intensivo con infografiche su cosa significano e quando usare quale. Contesto Un aspetto critico dello sviluppo dell'API REST è il modo in cui i client effettuano richieste e ricevono risposte.

Related posts

La lenta erosione: svelare i modi in cui le persone deperiscono nella loro carriera

La lenta erosione: svelare i modi in cui le persone deperiscono nella loro carriera

Nel mondo frenetico e competitivo di oggi, la propria carriera gioca un ruolo significativo nella crescita personale, nella stabilità finanziaria e nella soddisfazione generale della vita. Tuttavia, molte persone si trovano intrappolate in un ciclo inesorabile di stagnazione e insoddisfazione, che si esauriscono gradualmente nella loro vita professionale.

3 modi comprovati per migliorare la tua abilità di scrittura

I vantaggi della scrittura e le strategie per aiutarti a farlo

3 modi comprovati per migliorare la tua abilità di scrittura

Nel 2022, con il rilascio di GPT-3, l'abilità di scrittura sembra diventare meno importante. Con l'intelligenza artificiale, anche le persone con una scrittura scadente possono generare personale di qualità.

L'arte è sempre apolitica?

L'arte è sempre apolitica?

Ieri abbiamo chiuso le porte dell'Eurovision Song Contest di quest'anno con un gran finale scintillante e caotico in cui la cantante svedese Loreen ha portato a casa il trofeo, diventando la prima donna a vincere due volte e riportando la corona alla Svezia 50 anni dopo che gli ABBA hanno vinto la competizione con "Waterloo". Hanno continuato a diventare uno dei più grandi artisti nel canone della musica pop.

Ripensare i media: le cinque verità di McChesney e il futuro delle comunicazioni

Nel mondo iperconnesso di oggi, i sistemi dei media svolgono un ruolo fondamentale nel plasmare l'opinione pubblica e, di conseguenza, nel processo decisionale democratico. Nella sua profonda analisi dell'economia politica della comunicazione, lo studioso Robert McChesney sfida la saggezza convenzionale e presenta quelle che definisce le "cinque verità" sui media.