Un guide rapide pour configurer une application React avec Redux + Thunk.
Redux est une bibliothèque JavaScript utilisée pour gérer l'état de l'application. Il peut être décomposé en trois composantes principales.
Une action est un objet JavaScript simple qui possède deux attributs : un type et une charge utile . Le but principal d'une action est de décrire quelque chose qui s'est passé dans l'application (par exemple, l'utilisateur clique sur un bouton pour ajouter un article à son panier).
Un réducteur est une fonction qui prend en compte l'état actuel et une action. Il détermine comment mettre à jour l'état en fonction du type d'action, puis renvoie un nouvel état.
Un créateur d'action est une fonction qui renvoie un actionobjet, qui est ensuite envoyé au magasin Redux. Normalement, un créateur d'action ne peut renvoyer qu'un objet . En installant le middleware Thunk, nous pouvons créer des créateurs d'action qui renvoient une fonction à la place. Cela permet à votre application d'effectuer des appels de récupération et d'interagir avec un serveur.
Comparez les deux créateurs d'action ci-dessous.
// returns an object
export const createTodo = todo => {
return {
type: "CREATE_TODO",
payload: todo
}
}
// returns a function
export const getTodo = () => {
return(dispatch) => {
return fetch(url)
.then(resp => resp.json())
.then(todo => dispatch({ type: "GET_TODO", payload: todo }))
})
}
Le but de notre application est d'afficher un bouton. Lorsque le bouton est cliqué, une image d'un chien au hasard doit être affichée.
Si vous n'avez pas encore configuré d'application React, lancez la commande suivante dans votre terminal.
npx create-react-app redux-app
yarn add redux react-redux redux-thunk
Accédez d' reducersabord au dossier. Créez un fichier nommé dogReducer.js.
// ./src/reducers/dogReducer.js
const dog = (state = '', action) => {
switch(action.type) {
case 'CHANGE_IMAGE':
return action.payload
default:
return state
}
}
export default dog;
Au fur et à mesure que votre application se développe, vous devrez peut-être créer plusieurs réducteurs. Pour ce faire, vous devrez créer un fichier combineReducers.
Naviguez dans le reducersdossier et créez un fichier appelé index.js.
// ./src/reducers/index.js
import { combineReducers } from 'redux';
import dog from './dogReducer';
import anotherReducer from './anotherReducer';
export default combineReducers({
dog,
anotherReducer
})
Accédez au actionsdossier suivant. Créez un fichier appelé index .js.
// ./src/actions/index.js
export const changeImage = () => {
return(dispatch) => {
return fetch('https://dog.ceo/api/breeds/image/random')
.then(resp => resp.json())
.then(image => dispatch({ type: "CHANGE_IMAGE", payload: image.message }))
}
}
Accédez à ./src/index.js.
Importez ce qui suit.
import { Provider } from 'react-redux';
import { createStore, compose, applyMiddleware } from 'redux';
import thunk from 'redux-thunk';
import dog from './reducers/dogReducer';
import rootReducer from './reducers';
const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;
Ensuite, créez le magasin.
let store = createStore(colors, composeEnhancers(applyMiddleware(thunk)))
<Provider store={store} >
<App />
</Provider>
Accédez à ./src.
Créer DogContainer.js.
Créer Dog.js.
Courez yarn start.
À ce stade, l'application devrait être opérationnelle.
Résumer:
Introduction Un accident vasculaire cérébral est une urgence médicale qui peut frapper n'importe qui à tout moment. Elle survient lorsque le flux sanguin vers une partie du cerveau est perturbé, entraînant une perte soudaine de la fonction cérébrale.
Cette semaine, j'ai reçu un e-mail d'un membre de la liste de diffusion quotidienne. Ils voulaient savoir : Quelles ressources consultez-vous quotidiennement, hebdomadairement et mensuellement ? Grande question ! Je suis heureux d'essayer de partager quelques idées sur mon flux de travail et les principales ressources que j'utilise.
Hier, nous avons fermé la porte du concours Eurovision de la chanson de cette année avec une grande finale scintillante et chaotique où la chanteuse suédoise Loreen a remporté le trophée, devenant la première femme à gagner deux fois et ramenant la couronne à la Suède 50 ans après qu'ABBA a remporté le concours. avec "Waterloo". Ils sont devenus l'un des plus grands groupes du canon de la musique pop.
Vous pouvez être un enquêteur OSINT, un joueur CTF ou simplement quelqu'un qui reçoit des appels de spam. Quelqu'un qui essaie de vérifier le numéro que vous avez vu dans une publicité.
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.
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.