Hé les gars, dans cette procédure pas à pas, je vais vous montrer tout ce que vous devez savoir pour utiliser la fonction useEffect de React comme un pro.
Avant useEffect , il existait des méthodes de cycle de vie, à savoir :
componentDidUpdate(prevProps, prevState) {
if (prevProps.foo !== this.props.foo) {/* do something */}
if (prevState.bar !== this.state.bar) {/* do something else */}
}
Avec ces méthodes de cycle de vie, nous pouvons gérer de manière fiable tout changement d'état du composant, alors pourquoi changer pour useEffect ?
À un moment donné (je crois dès 2016), l'équipe React a pris la décision de créer des composants React qui peuvent être instanciés avec juste une fonction Javascript classique à l'ancienne. Donc:
import React from "react";
function MyFunc() {
return <div>Hey!</div>
}
La nouvelle approche pour gérer les changements d'état est venue sous la forme d'une fonction useEffect exposée par la bibliothèque React. Alors, comment recréer nos méthodes bien-aimées componentDidMount , componentDidUpdate et componentWillUnmount ? Développons notre fonction sans état précédente :
import React from "react";
function MyFunc(props) {
const [bar setBar] = React.useState(null);
React.useEffect(() => {
console.log("componentDidMount");
return () => {
console.log("componentDidUnmount")
}
}, []);
React.useEffect(() => {
console.log("componentDidUpdate when 'bar' changes");
}, [bar]);
React.useEffect(() => {
console.log("componentDidUpdate when 'props.foo' changes");
}, [props.foo]);
return <div>Hey!</div>
}
Une autre chose que nous avons ajoutée à cet exemple, React.useState, un hook d'état, est hors de portée de ce tutoriel, mais apprenez-en plus à ce sujet ici !
C'est formidable de pouvoir gérer l'état d'un composant ainsi qu'avec les méthodes de cycle de vie précédentes. Entre la simplicité et la réutilisabilité des fonctions stateless, et la fonction React.useEffect, un nouveau paradigme s'offre à nous : les fonctions stateful réutilisables, ou plus communément nommées : custom hooks .
Un lecteur averti comme vous a probablement remarqué qu'avec useEffect, nous ne pouvons pas accéder à la propriété prevProps ou prevState comme nous le pouvions auparavant. N'ayez pas peur ! Lisez la solution pour cela ici . La raison pour laquelle cette solution fonctionne est que React.useRef ne déclenche pas de nouveaux rendus du composant. De plus, useEffect sans dépendances se déclenche à chaque fois qu'il y a un nouveau rendu du composant, quel que soit le changement d'état qui l'a déclenché.
Il n'y a vraiment pas de meilleur exemple de base pour un hook personnalisé que celui que React partage dans sa documentation officielle ici . Commençons par le bas de l'exemple et montons :
function FriendListItem(props) {
const isOnline = useFriendStatus(props.friend.id);
return (
<li style={{ color: isOnline ? 'green' : 'black' }}>
{props.friend.name}
</li>
);
}
import React, { useState, useEffect } from 'react';
function useFriendStatus(friendID) {
const [isOnline, setIsOnline] = useState(null);
function handleStatusChange(status) {
setIsOnline(status.isOnline);
}
useEffect(() => {
ChatAPI.subscribeToFriendStatus(friendID, handleStatusChange);
return () => {
ChatAPI.unsubscribeFromFriendStatus(friendID, handleStatusChange);
};
});
return isOnline;
}
Dans ce tutoriel, nous avons examiné :
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.
Embarquez pour un voyage passionnant d'innovation et de succès en exploitant le potentiel inexploité de ces surprenantes plateformes sans code. Permettez-moi de partager avec vous l'histoire de Sapna, une remarquable femme entrepreneure.
Tout esprit rationnel sait que les milieux politiques et médiatiques sont dominés par la gauche, voire l'extrême gauche, un état de fait qui crée un déséquilibre dans le discours politique. Dans le domaine religieux, ce déséquilibre est bien visible : les journaux et les réseaux de gauche ne se précipitent pas pour défendre la foi chrétienne.
Dans le monde hyper-connecté d'aujourd'hui, les systèmes médiatiques jouent un rôle central dans la formation de l'opinion publique et, par conséquent, dans la prise de décision démocratique. Dans son analyse approfondie de l'économie politique de la communication, le chercheur Robert McChesney remet en question la sagesse conventionnelle et présente ce qu'il appelle les « cinq vérités » sur les médias.
Pour éviter toute ambiguïté, les termes suivants seront utilisés ; Authentificateur ; Le téléphone mobile utilisé pour effectuer la connexion au site Web ; Le site Web ou l'application que l'utilisateur utilise pour effectuer la demande de connexion au service ; Le fournisseur fournissant le service donné, par exemple
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.