


Explication détaillée des méthodes d'optimisation du magasin des composants React
Cet article présente principalement la méthode d'utilisation du store pour optimiser les composants React. L'éditeur pense que c'est plutôt bon, je vais donc le partager avec vous maintenant et le donner comme référence. Suivons l'éditeur pour y jeter un œil, j'espère que cela pourra aider tout le monde.
Lors de l'écriture de composants à l'aide de React, nous rencontrons souvent des situations où deux composants différents doivent partager l'état, et l'approche habituelle consiste à promouvoir l'état auprès du composant parent. Mais il y a un problème avec cela, c'est-à-dire que même si seuls deux composants ont besoin de cet état, parce que l'état est mentionné au composant parent, lorsque l'état change, le composant parent et tous les sous-composants en dessous seront restitués. Si votre composant parent est relativement complexe et peut entraîner des problèmes de performances s'il contient de nombreux autres sous-composants.
Redux place l'état dans le magasin global, puis les composants s'abonnent à l'état dont ils ont besoin. Lorsque l'état change, seuls les composants dont l'état souscrit change seront restitués, évitant ainsi les effets secondaires de. le statut amélioré mentionné ci-dessus. Cependant, lorsque nous écrivons une bibliothèque de composants React, la combinaison de redux et de react-redux peut être un peu trop lourde. Nous pouvons donc écrire nous-mêmes une boutique simple pour implémenter un modèle d'abonnement similaire à Redux.
Référez-vous à l'implémentation de Redux pour écrire une version simplifiée de createStore :
function createStore(initialState) { let state = initialState; const listeners = []; function setState(partial) { state = { ...state, ...partial, }; for (let i = 0; i < listeners.length; i++) { listeners[i](); } } function getState() { return state; } function subscribe(listener) { listeners.push(listener); return function unsubscribe() { const index = listeners.indexOf(listener); listeners.splice(index, 1); }; } return { setState, getState, subscribe, }; }
Notre createStore est très simple, avec seulement 33 lignes dont le blanc Lignes. Un total de 3 méthodes sont exposées. Il n'y a pas de dispatch ni de réducteur dans Redux. L'état est modifié directement via la méthode setState. Utilisons-le comme exemple de compteur.
class Counter extends React.Component { constructor(props) { super(props); // 初始化 store this.store = createStore({ count: 0, }); } render() { return ( <p> <Buttons store={store} /> <Result store={store} /> </p> ) } } class Buttons extends React.Component { handleClick = (step) => () => { const { store } = this.props; const { count } = store.getState(); store.setState({ count: count + step }); } render() { return ( <p> <button onClick={this.handleClick(1)}>+</button> <button onClick={this.handleClick(1)}>-</button> </p> ); } } class Result extends React.Component { constructor(props) { super(props); this.state = { count: props.store.getState().count, }; } componentDidMount() { this.props.store.subscribe(() => { const { count } = this.props.store.getState(); if (count !== this.state.count) { this.setState({ count }); } }); } render() { return ( <p>{this.state.count}</p> ); }; }
Dans l'exemple des boutons, la modification de l'état dans le magasin via store.setState n'entraînera pas le nouveau rendu de l'intégralité du compteur, mais parce que le résultat est les abonnés au magasin changent, donc lorsque le nombre change, vous pouvez effectuer un nouveau rendu en modifiant l'état dans votre propre composant, évitant ainsi intelligemment le rendu inutile.
Enfin, bien que le createStore ci-dessus ne contienne que quelques dizaines de lignes de code, je l'ai quand même écrit dans une bibliothèque appelée mini-store et je l'ai mis sur GitHub, et j'ai fourni un fournisseur et une méthode de connexion de type Redux, qui Cela représente un peu plus de 100 lignes de code. Si vous écrivez également une bibliothèque de composants React et devez gérer l'état d'un composant complexe, vous pouvez aussi bien essayer cette méthode d'optimisation.
Recommandations associées :
Comment utiliser les Props du composant parent "en dehors" du composant React
La vie cycle du composant React Qu'est-ce qu'une fonction
Un exemple de tutoriel sur la communication entre les composants React
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tomato Novel est un logiciel de lecture de romans très populaire. Nous avons souvent de nouveaux romans et bandes dessinées à lire dans Tomato Novel. De nombreux amis souhaitent également gagner de l'argent de poche et éditer le contenu de leur roman. Je veux écrire dans du texte. Alors, comment pouvons-nous y écrire le roman ? Mes amis ne le savent pas, alors allons ensemble sur ce site. Prenons le temps de regarder une introduction à la façon d'écrire un roman. Partagez le didacticiel du roman Tomato sur la façon d'écrire un roman. 1. Ouvrez d'abord l'application de roman gratuite Tomato sur votre téléphone mobile et cliquez sur Personal Center - Writer Center 2. Accédez à la page Tomato Writer Assistant - cliquez sur Créer un nouveau livre. à la fin du roman.

Malheureusement, les gens suppriment souvent certains contacts accidentellement pour certaines raisons. WeChat est un logiciel social largement utilisé. Pour aider les utilisateurs à résoudre ce problème, cet article explique comment récupérer les contacts supprimés de manière simple. 1. Comprendre le mécanisme de suppression des contacts WeChat. Cela nous offre la possibilité de récupérer les contacts supprimés. Le mécanisme de suppression des contacts dans WeChat les supprime du carnet d'adresses, mais ne les supprime pas complètement. 2. Utilisez la fonction intégrée « Récupération du carnet de contacts » de WeChat. WeChat fournit une « Récupération du carnet de contacts » pour économiser du temps et de l'énergie. Les utilisateurs peuvent récupérer rapidement les contacts précédemment supprimés grâce à cette fonction. 3. Accédez à la page des paramètres WeChat et cliquez sur le coin inférieur droit, ouvrez l'application WeChat « Moi » et cliquez sur l'icône des paramètres dans le coin supérieur droit pour accéder à la page des paramètres.

La définition de la taille de la police est devenue une exigence de personnalisation importante à mesure que les téléphones mobiles deviennent un outil important dans la vie quotidienne des gens. Afin de répondre aux besoins des différents utilisateurs, cet article présentera comment améliorer l'expérience d'utilisation du téléphone mobile et ajuster la taille de la police du téléphone mobile grâce à des opérations simples. Pourquoi avez-vous besoin d'ajuster la taille de la police de votre téléphone mobile - L'ajustement de la taille de la police peut rendre le texte plus clair et plus facile à lire - Adapté aux besoins de lecture des utilisateurs d'âges différents - Pratique pour les utilisateurs malvoyants qui souhaitent utiliser la taille de la police fonction de configuration du système de téléphonie mobile - Comment accéder à l'interface des paramètres du système - Dans Rechercher et entrez l'option "Affichage" dans l'interface des paramètres - recherchez l'option "Taille de la police" et ajustez-la. application - téléchargez et installez une application prenant en charge l'ajustement de la taille de la police - ouvrez l'application et entrez dans l'interface des paramètres appropriée - en fonction de l'individu

Les jeux mobiles font désormais partie intégrante de la vie des gens avec le développement de la technologie. Il a attiré l'attention de nombreux joueurs avec sa jolie image d'œuf de dragon et son processus d'éclosion intéressant, et l'un des jeux qui a beaucoup attiré l'attention est la version mobile de Dragon Egg. Pour aider les joueurs à mieux cultiver et faire grandir leurs propres dragons dans le jeu, cet article vous présentera comment faire éclore des œufs de dragon dans la version mobile. 1. Choisissez le type d'œuf de dragon approprié. Les joueurs doivent choisir soigneusement le type d'œuf de dragon qu'ils aiment et qui leur conviennent, en fonction des différents types d'attributs et de capacités d'œuf de dragon fournis dans le jeu. 2. Améliorez le niveau de la machine d'incubation. Les joueurs doivent améliorer le niveau de la machine d'incubation en accomplissant des tâches et en collectant des accessoires. Le niveau de la machine d'incubation détermine la vitesse d'éclosion et le taux de réussite de l'éclosion. 3. Collectez les ressources nécessaires à l'éclosion. Les joueurs doivent être dans le jeu.

La différence entre les méthodes et les fonctions du langage Go réside dans leur association avec des structures : les méthodes sont associées à des structures et sont utilisées pour faire fonctionner des données de structure ou des fonctions de méthodes sont indépendantes des types et sont utilisées pour effectuer des opérations générales ;

Intégration du framework Java et du framework React : Étapes : Configurer le framework Java back-end. Créer une structure de projet. Configurez les outils de construction. Créez des applications React. Écrivez les points de terminaison de l'API REST. Configurez le mécanisme de communication. Cas pratique (SpringBoot+React) : Code Java : Définir le contrôleur RESTfulAPI. Code React : obtenez et affichez les données renvoyées par l'API.

Le film pour téléphone portable est devenu l'un des accessoires indispensables avec la popularité des smartphones. Pour prolonger sa durée de vie, choisissez un film de téléphone portable adapté pour protéger l'écran du téléphone portable. Pour aider les lecteurs à choisir le film pour téléphone portable le plus approprié, cet article présentera plusieurs points clés et conseils pour l'achat d'un film pour téléphone portable. Comprendre les matériaux et les types de films pour téléphones portables : film PET, TPU, etc. Les films pour téléphones portables sont constitués de divers matériaux, dont le verre trempé. Le film PET est relativement doux, le film en verre trempé a une bonne résistance aux rayures et le TPU a de bonnes performances antichoc. Cela peut être décidé en fonction des préférences et des besoins personnels lors du choix. Tenez compte du degré de protection de l'écran. Différents types de films pour téléphones portables ont différents degrés de protection d'écran. Le film PET joue principalement un rôle anti-rayures, tandis que le film en verre trempé a une meilleure résistance aux chutes. Vous pouvez choisir d'avoir mieux
![Le Microsoft Store ne peut pas être ouvert et affiche « Désolé ! Un problème s'est produit, mais nous avons bien compris » - [Solution détaillée]](https://img.php.cn/upload/article/000/887/227/171151687965989.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
Certains utilisateurs souhaitent trouver leurs applications préférées dans le Microsoft Store, les télécharger et les installer, mais constatent que le Microsoft Store ne peut pas être ouvert et qu'il affiche également le message "Désolé ! Quelque chose s'est mal passé, mais nous l'avons bien fait." le résoudre pour qu'il puisse être ouvert ? Le Microsoft Store est-il de nouveau opérationnel ? L'éditeur a compilé deux méthodes ci-dessous, j'espère qu'elles pourront vous aider ! La première méthode peut appuyer sur Win+R→enter cmd, puis maintenir la touche Ctrl+shift→cliquer sur OK (cliquez sur Oui après l'apparition de l'UAC), puis la fenêtre cmd apparaît (mode administrateur), puis copiez et collez le contenu suivant : netshwinsockresetnetshintipresetipconfig/ releaseipconfig/renewi
