Redux-Saga est une bibliothèque middleware qui gère les tâches asynchrones avec des effets secondaires, comme l'API. De plus, nous sommes capables de lire l'état et d'appeler des actions sur Saga. Il utilise des fonctions de générateur pour effectuer des tâches asynchrones.
Ce qui suit explique pourquoi nous utilisons Saga et comment l'installer. Ensuite, il est discuté des méthodes Saga utiles pour gérer l'API.
La tâche principale de la saga est de gérer les appels d'API et de mettre à jour l'état en fonction de la réponse des terminaux ! L'un des principaux avantages de redux-saga est qu'il est compatible avec les tests.
Avant de travailler avec Redux-Saga, vous devez vous familiariser avec Redux.
Il existe deux manières d'installer redux-saga en fonction de votre gestionnaire de packages :
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 peut ressembler à ceci :
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);
Les méthodes les plus utilisées seront expliquées dans ce qui suit :
Il lit à partir du sélecteur (état), voici un exemple de l'appel de sélection.
const userId = yield select(userSelectors.getUserId);
Il distribue des actions, par exemple :
yield put({type: "USER_FETCH_SUCCEEDED", user: user});
Il appelle une fonction asynchrone, telle que l'API, par exemple :
const user = yield call(Api.fetchUser, action.payload.userId);
Il surveille à chaque envoi d'action l'appel d'une fonction génératrice.
yield takeEvery("USER_FETCH_REQUESTED", fetchUser);
C'est la même chose que takeEvery, la seule différence est que lorsque l'appel précédent est en attente, il n'appelle plus.
yield takeLatest("USER_FETCH_REQUESTED", fetchUser);
Redux-saga est une bibliothèque pour gérer les tâches asynchrones dans redux. Dans cet article, il est expliqué pourquoi et comment utiliser Saga et les méthodes.
Si vous êtes quelqu'un qui a tendance à ignorer le message d'avertissement "chaque élément doit avoir une clé unique" lors du mappage d'un tableau dans React, il est important de prendre un moment pour comprendre pourquoi cet avertissement est déclenché en premier lieu. Dans React, lors du rendu d'une liste d'éléments à l'aide de "Array.
Un cours accéléré avec des infographies sur ce que cela signifie et quand utiliser lequel. Contexte Un aspect essentiel du développement de l'API REST est la manière dont les clients formulent des requêtes et reçoivent des réponses.
Passer à une nouvelle carrière peut être extrêmement difficile si vous essayez de le faire seul. Il est important de trouver des partenaires de responsabilité qui sont au même niveau d'apprentissage que vous, qui partagent des objectifs, une ténacité et un dynamisme similaires.
J'étais récemment sur Linkedin, le plus grand réseau social professionnel au monde, et j'ai trouvé des messages de designers indépendants que je suis et qui ont attiré mon attention. Ils ont tous posté des photos d'avions, sur la plage avec leurs ordinateurs portables, de piscines et de bureaux avec une vue imprenable.
Quand tu grandis, on a tendance à te dire que le monde est comme il est et que ta vie est juste de vivre ta vie à l'intérieur du monde, sans jamais risquer ta vie, juste suivre un chemin tracé et mourir à la fin, et essayer de ne pas cogner trop les murs. Mais c'est une vie très limitée.
Il était minuit passé lorsque Hayden a ramené Katie à son dortoir universitaire après leur soirée ensemble. Elle avait un cours tôt le matin et n'avait plus de vêtements de rechange après être restée avec lui la nuit précédente.