1 00:00:02,220 --> 00:00:07,770 L'État est un concept crucial et il faut réagir, et il est donc important pour moi que vous compreniez comment cela 2 00:00:07,770 --> 00:00:08,160 fonctionne. 3 00:00:08,670 --> 00:00:14,340 U. S. l'état est la façon dont vous gérez l'état et les composants fonctionnels et votre état peut être n'importe quoi. 4 00:00:14,350 --> 00:00:15,510 Il n'est pas nécessaire que ce soit un tableau. 5 00:00:15,570 --> 00:00:20,580 Cela pourrait être du texte, un nombre, un objet, un tableau, un booléen, quelque chose comme ça. 6 00:00:21,570 --> 00:00:24,780 Utiliser l'état renvoie toujours un tableau avec deux éléments. 7 00:00:24,870 --> 00:00:30,450 Quel que soit votre statut, si votre état est un état sans utilisation, il renvoie toujours un tableau avec exactement deux 8 00:00:30,450 --> 00:00:30,930 éléments. 9 00:00:31,380 --> 00:00:35,760 Parce que le premier élément est alors toujours votre dernier instantané d'état. 10 00:00:36,210 --> 00:00:43,020 Et le deuxième élément est une fonction qui vous permet de mettre à jour cet instantané d'état chaque fois que vous mettez 11 00:00:43,080 --> 00:00:44,350 à jour l'instantané d'état. 12 00:00:44,520 --> 00:00:46,020 React fera deux choses. 13 00:00:46,620 --> 00:00:49,950 Il mettra à jour ces données d'état stockées en interne. 14 00:00:50,250 --> 00:00:56,130 Ainsi, par exemple, ici, lorsque nous ajoutons notre premier nouvel objectif, il remplacera l'état initial par notre tout 15 00:00:56,130 --> 00:00:57,090 nouvel état. 16 00:00:57,210 --> 00:01:00,150 Dans ce cas, avec la toute nouvelle gamme que nous avons créée avec Concat. 17 00:01:00,870 --> 00:01:07,500 Et une fois qu'il a mis à jour les données en interne, il appellera à nouveau cette fonction de composant et exécutera 18 00:01:07,500 --> 00:01:08,640 la fonction entière. 19 00:01:08,850 --> 00:01:11,250 Et donc tout le rendu a rendu ce J en code X. 20 00:01:12,020 --> 00:01:14,400 Maintenant sous le capot, il ne restituera pas tout le dom. 21 00:01:14,400 --> 00:01:20,250 Il vérifiera simplement quelles parties du DOM doivent être mises à jour, mais il réévaluera l'ensemble du composant. 22 00:01:20,920 --> 00:01:27,030 Cela signifie également, bien sûr, qu'il ré-exécute l'état d'utilisation, mais que l'état d'utilisation fonctionne en interne de telle sorte qu'il n'initialise 23 00:01:27,030 --> 00:01:32,400 un état stable que lorsque le composant est rendu pour la première fois et pour un recyclage 24 00:01:32,400 --> 00:01:33,420 ultérieur de Rehren. 25 00:01:33,690 --> 00:01:39,630 Il extrait simplement l'instantané du dernier état et ignore essentiellement la valeur initiale que nous avons définie ici. 26 00:01:41,580 --> 00:01:43,770 Voilà comment fonctionne un État. 27 00:01:44,370 --> 00:01:49,140 Maintenant, il est important de comprendre que cette façon de mettre à jour notre propriété dans ce scénario n'est pas 28 00:01:49,140 --> 00:01:50,310 la meilleure façon possible. 29 00:01:50,670 --> 00:01:52,980 Donc dupliqué et commenté. 30 00:01:53,160 --> 00:01:54,900 Nous l'avons donc toujours comme référence. 31 00:01:54,930 --> 00:01:56,880 Mais nous voyons également la meilleure approche. 32 00:01:57,390 --> 00:01:58,830 Cette approche fonctionne clairement. 33 00:01:58,950 --> 00:02:00,600 Et dans la plupart des cas, cela fonctionnera. 34 00:02:01,170 --> 00:02:06,750 Mais vous devez être conscient que toute cette mise à jour de l'état rend une partie de React. 35 00:02:07,230 --> 00:02:08,880 N'est-ce pas la fin gérée par réagir. 36 00:02:09,330 --> 00:02:15,180 Et lorsque vous avez un élément et que vous déclarez que cela ne met pas tout en pause et que vous entrez de nouveau immédiatement dans votre application. 37 00:02:15,510 --> 00:02:17,910 Au lieu de cela, il est prévu de mettre à jour l'état. 38 00:02:18,150 --> 00:02:23,550 Et si vous avez une application avec beaucoup de mises à jour d'état en cours et beaucoup de travail en 39 00:02:23,820 --> 00:02:29,280 cours, ce qui n'est pas le cas et fait une application mais peut être le cas et d'autres applications, votre mise 40 00:02:29,340 --> 00:02:32,010 à jour d'état peut être différée de quelques millisecondes. 41 00:02:32,580 --> 00:02:39,780 Cela signifie qu'en fait, si un utilisateur clique, ajoute de l'or plusieurs fois, le noyau de Skold, qui est actuellement affiché à 42 00:02:39,780 --> 00:02:45,900 l'écran, peut ne pas être notre dernier état car toutes les mises à jour d'état n'ont pas encore 43 00:02:45,900 --> 00:02:46,950 été traitées. 44 00:02:47,640 --> 00:02:53,670 Par conséquent, il existe une meilleure forme de mise à jour au lieu de transmettre nos nouvelles données d'état pour définir les objectifs du 45 00:02:53,670 --> 00:02:53,970 cours. 46 00:02:54,360 --> 00:03:01,710 Vous pouvez transmettre une fonction pour définir des objectifs de cours, une fonction qui reçoit les derniers objectifs de cours préférés de 47 00:03:01,800 --> 00:03:05,670 l'État et doit renvoyer un nouvel instantané d'état et bien réagir. 48 00:03:05,670 --> 00:03:11,070 Planifiez ensuite tous ces appels de fonction et vous garantissez qu'ils sont exécutés dans le bon ordre de sorte 49 00:03:11,070 --> 00:03:17,160 que même si une mise à jour d'état a été différée au moment où la mise à jour s'exécute, il vous 50 00:03:17,160 --> 00:03:18,900 garantit également le premier exécuté. 51 00:03:19,470 --> 00:03:25,080 Et puis ici, vous auriez simplement Darfor pour le retour de l'or, bien sûr, ce qui n'est toujours pas un nouvel objectif de Ray 52 00:03:25,080 --> 00:03:25,440 Concat. 53 00:03:25,890 --> 00:03:28,680 Il donnera le même résultat que précédemment dans cette application. 54 00:03:28,920 --> 00:03:31,850 Et dans cette application simple, cette approche aurait été très bien. 55 00:03:31,890 --> 00:03:38,940 Il n'y a pratiquement aucune chance de réagir, différant les mises à jour si longtemps que nous nous retrouverions avec un état 56 00:03:38,940 --> 00:03:39,270 incorrect. 57 00:03:39,720 --> 00:03:43,050 Mais c'est l'approche à toute épreuve qui fonctionnera toujours. 58 00:03:43,410 --> 00:03:49,680 Vous n'en avez besoin que si la mise à jour de votre état dépend des données de l'état précédent, comme on le fait. 59 00:03:50,010 --> 00:03:55,860 Si votre mise à jour d'état est une nouvelle donnée, qui ne dépend pas de l'état précédent, vous pouvez toujours 60 00:03:55,920 --> 00:03:58,380 utiliser en toute sécurité ce formulaire non fonctionnel. 61 00:03:59,160 --> 00:04:03,150 Et voici une note latérale, car, bien sûr, tout le raccourcissement tire parti de la syntaxe 62 00:04:03,150 --> 00:04:06,780 de la fonction eral et se débarrasse de l'instruction de retour aux accolades. 63 00:04:07,050 --> 00:04:10,110 Puisque nous n'avons qu'une seule expression que nous retournons immédiatement. 64 00:04:10,710 --> 00:04:15,690 Alors maintenant, avec cette annonce, Brooks a demandé auparavant, mais c'est une approche un peu plus sûre et il a recommandé une 65 00:04:15,690 --> 00:04:16,080 approche. 66 00:04:16,110 --> 00:04:18,690 Si votre mise à jour d'état dépend de l'état précédent.