All language subtitles for 078 React.memo.en_US

af Afrikaans
ak Akan
sq Albanian
am Amharic
ar Arabic
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bem Bemba
bn Bengali
bh Bihari
bs Bosnian
br Breton
bg Bulgarian
km Cambodian
ca Catalan
ceb Cebuano
chr Cherokee
ny Chichewa
zh-CN Chinese (Simplified)
zh-TW Chinese (Traditional)
co Corsican
hr Croatian
cs Czech
da Danish
nl Dutch
en English
eo Esperanto
et Estonian
ee Ewe
fo Faroese
tl Filipino
fi Finnish
fr French
fy Frisian
gaa Ga
gl Galician
ka Georgian
de German
el Greek
gn Guarani
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian
is Icelandic
ig Igbo
id Indonesian
ia Interlingua
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
rw Kinyarwanda
rn Kirundi
kg Kongo
ko Korean
kri Krio (Sierra Leone)
ku Kurdish
ckb Kurdish (Soranî)
ky Kyrgyz
lo Laothian
la Latin
lv Latvian
ln Lingala
lt Lithuanian
loz Lozi
lg Luganda
ach Luo
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mfe Mauritian Creole
mo Moldavian
mn Mongolian
my Myanmar (Burmese)
sr-ME Montenegrin
ne Nepali
pcm Nigerian Pidgin
nso Northern Sotho
no Norwegian
nn Norwegian (Nynorsk)
oc Occitan
or Oriya
om Oromo
ps Pashto
fa Persian
pl Polish
pt-BR Portuguese (Brazil)
pt Portuguese (Portugal)
pa Punjabi
qu Quechua
ro Romanian Download
rm Romansh
nyn Runyakitara
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
sh Serbo-Croatian
st Sesotho
tn Setswana
crs Seychellois Creole
sn Shona
sd Sindhi
si Sinhalese
sk Slovak
sl Slovenian
so Somali
es Spanish
es-419 Spanish (Latin American)
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
tt Tatar
te Telugu
th Thai
ti Tigrinya
to Tonga
lua Tshiluba
tum Tumbuka
tr Turkish
tk Turkmen
tw Twi
ug Uighur
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese
cy Welsh
wo Wolof
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu
Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated: 1 00:00:00,510 --> 00:00:08,520 Once I have shared my two cents about the performance optimizations and react, of course, let's go 2 00:00:08,520 --> 00:00:17,090 to our example and we're looking for the folder number 12 named my component against set up online. 3 00:00:17,100 --> 00:00:19,030 You're looking in the memo. 4 00:00:19,050 --> 00:00:24,090 Use my more use callback folder and then more specifically, the setup folder. 5 00:00:24,150 --> 00:00:28,710 Again, it's going to have the index, so you don't need to give it more specific path. 6 00:00:29,010 --> 00:00:32,790 And what you should see on screen is the count. 7 00:00:33,100 --> 00:00:38,980 So, of course, I can increase the count as well as I have some products over here. 8 00:00:39,330 --> 00:00:47,010 So now, of course, let's navigate to that index and let's see what all the big fuss is about. 9 00:00:47,460 --> 00:00:49,680 And you can see that I have some reports. 10 00:00:49,680 --> 00:00:54,150 I have your state use callbacks memo, something we'll use in later videos. 11 00:00:54,420 --> 00:00:58,350 And also I'm using my custom futch. 12 00:00:58,500 --> 00:01:02,570 So use fetch hook where I pass in the URL. 13 00:01:03,390 --> 00:01:10,390 In this case, again, the euro is my own IP where I'm just sharing my product. 14 00:01:10,570 --> 00:01:12,460 That is for my Joske. 15 00:01:12,480 --> 00:01:19,650 Of course we built a e-commerce store and this is the API that is providing those products. 16 00:01:19,980 --> 00:01:21,990 I get back the products again. 17 00:01:21,990 --> 00:01:24,030 I'm not using loading that. 18 00:01:24,030 --> 00:01:25,860 I have the account and set count. 19 00:01:26,100 --> 00:01:31,140 So this is my state variable and I have the heading one for my account. 20 00:01:31,350 --> 00:01:35,160 And of course I have the button that increases the comp. 21 00:01:35,430 --> 00:01:40,410 And then of course things get a bit more interesting where I have my big list. 22 00:01:40,560 --> 00:01:43,380 So again, this is oversimplified example. 23 00:01:43,560 --> 00:01:48,810 We're talking about big lists, whether data is one hundred items, thousand items or something along 24 00:01:48,810 --> 00:01:53,450 those lines, because if you check it out, my list is not that big. 25 00:01:53,700 --> 00:01:55,380 So I have a big list then. 26 00:01:55,380 --> 00:02:01,320 The problem is products and I pass in the products that I'm getting back from my customers. 27 00:02:01,500 --> 00:02:07,530 And again, if you didn't cover customer, please go back because I'm not going to cover it one more 28 00:02:07,530 --> 00:02:07,860 time. 29 00:02:08,220 --> 00:02:09,030 I'm not in here. 30 00:02:09,030 --> 00:02:16,140 I have the section I iterate over the product and I create a single component, so single components 31 00:02:16,140 --> 00:02:20,430 for the product just to emphasize one of the points. 32 00:02:20,430 --> 00:02:26,100 And then of course, I have the key that is that specific value, the unique one, because I have the 33 00:02:26,100 --> 00:02:28,140 list and then the other that product. 34 00:02:28,150 --> 00:02:33,090 So I use the separate operator where I grew up, all the properties that are on the product. 35 00:02:33,480 --> 00:02:38,460 Of course, if you want to see what we're getting back, be my guest. 36 00:02:38,910 --> 00:02:44,880 In this case, I'll copy and paste and you'll notice that, of course, I have the array and then each 37 00:02:44,880 --> 00:02:46,410 and every item is that product. 38 00:02:46,410 --> 00:02:50,610 I have the ID, I have the image and all that good stuff. 39 00:02:50,910 --> 00:02:57,450 Now, that is now the most important part, though, because, yes, in single product notice, I'm 40 00:02:57,450 --> 00:03:00,280 accessing the fields property on the object. 41 00:03:00,280 --> 00:03:02,250 Then I do a little bit more the structuring. 42 00:03:02,460 --> 00:03:03,690 I get the image. 43 00:03:03,690 --> 00:03:08,980 And this should look very familiar because we have done it a thousand times already in this detail. 44 00:03:09,420 --> 00:03:15,720 The point that I'm trying to make is something else where at the moment I have the list, I have click 45 00:03:15,720 --> 00:03:24,630 me and you'll notice that if you add effect in a single product as well as the big list, each and every 46 00:03:24,630 --> 00:03:27,900 time you click on a button, you're actually re rendering. 47 00:03:28,350 --> 00:03:31,410 And let me show you how is that going to look like. 48 00:03:31,410 --> 00:03:39,660 So already imported the use effect, by the way, I didn't my let's go use fact now again, in your 49 00:03:39,660 --> 00:03:41,340 case, it's going to be already there. 50 00:03:41,790 --> 00:03:50,850 And if we scroll down here and if we go with big list and if you go with use of fact and then you call 51 00:03:50,850 --> 00:04:01,080 it and we'll just log a big list called Big List called, and I'll do the same thing over here where 52 00:04:01,080 --> 00:04:02,280 I'll copy and paste. 53 00:04:02,760 --> 00:04:06,900 And you can also add the array here, the empty dependency array. 54 00:04:07,290 --> 00:04:13,980 It's not going to change the simple fact that every time you click on a button, you'll invoke both 55 00:04:13,980 --> 00:04:14,310 of them. 56 00:04:14,700 --> 00:04:23,280 So again, I have used the fact and now say a single item called by the way, I can add here a count 57 00:04:23,640 --> 00:04:24,390 as well. 58 00:04:24,690 --> 00:04:30,080 So if I navigate to a bigger browser window for refresh notice. 59 00:04:30,390 --> 00:04:39,240 So once we call our component, yeah, I have item called out and called on, it goes all the way up 60 00:04:39,240 --> 00:04:40,590 to a twenty four. 61 00:04:41,190 --> 00:04:48,840 Now what's more important though is that if you check out the console, I keep on clicking notice these 62 00:04:48,840 --> 00:04:51,570 values, they keep on increasing. 63 00:04:52,350 --> 00:04:58,920 So I have twelve items and then pretty much each and every time I click on a button I see this big list 64 00:04:58,920 --> 00:04:59,370 called. 65 00:04:59,930 --> 00:05:03,580 And also, each and every item gets really random. 66 00:05:04,100 --> 00:05:06,220 Now, first of all, why is that happening? 67 00:05:06,680 --> 00:05:14,120 Because I have the state value using you state and then each and every time I click the button, what 68 00:05:14,120 --> 00:05:14,760 am I doing? 69 00:05:15,410 --> 00:05:17,360 Well, I change the value. 70 00:05:17,360 --> 00:05:17,840 Correct. 71 00:05:18,110 --> 00:05:24,470 And remember, your state was doing what it was preserving the values between the renders and it was 72 00:05:24,470 --> 00:05:29,060 triggering the let's say it together rear under. 73 00:05:29,330 --> 00:05:29,870 Correct. 74 00:05:30,320 --> 00:05:35,720 And of course, in my component, in the next one, I have my big list. 75 00:05:36,440 --> 00:05:45,080 So each and every time I click on a button and I update my current value, I'm triggering the array 76 00:05:45,080 --> 00:05:45,530 render. 77 00:05:46,220 --> 00:05:48,640 And then of course I'm rendering the big list. 78 00:05:48,770 --> 00:05:56,810 And then in the big list I have my single product, more specifically ARMATRADING over the array and 79 00:05:56,810 --> 00:05:59,800 I return for each and every item, my single product. 80 00:06:00,380 --> 00:06:03,110 So those ones also get re render. 81 00:06:03,860 --> 00:06:05,210 So what would be the solution? 82 00:06:05,660 --> 00:06:11,780 Well, solution is the memory function that comes with Riak again. 83 00:06:12,080 --> 00:06:14,720 Please don't confuse it with use Memmo. 84 00:06:15,200 --> 00:06:16,940 Use memory is going to do something else. 85 00:06:16,940 --> 00:06:17,690 That is the hook. 86 00:06:17,930 --> 00:06:20,900 We're talking about function by the name of Memmo. 87 00:06:21,320 --> 00:06:26,840 If you want to be really specific, then of course it is a method because it is on react. 88 00:06:27,290 --> 00:06:35,300 And what we would need to do here is just go with react and then that my mom or you can import it. 89 00:06:35,600 --> 00:06:38,840 You can also do that up here where we're importing everything. 90 00:06:39,380 --> 00:06:46,370 And then what you would want is to wrap your essentially whole component in that memo. 91 00:06:46,670 --> 00:06:51,290 So memory is a function and you just pass in your component. 92 00:06:51,680 --> 00:06:59,600 So simply you set up parentheses and then you set up all the logic that you had for the component in 93 00:06:59,690 --> 00:07:00,710 that memo. 94 00:07:01,100 --> 00:07:01,630 All right. 95 00:07:02,000 --> 00:07:03,260 So once we save. 96 00:07:04,130 --> 00:07:12,140 We all noticed that, yes, on the initial render notice, we have 12, so we call this 12 times because 97 00:07:12,140 --> 00:07:15,780 we have 12 items that each and every time I increase. 98 00:07:16,130 --> 00:07:18,380 Notice how we're not calling that. 99 00:07:18,710 --> 00:07:19,460 Use the fact. 100 00:07:19,670 --> 00:07:20,120 Why? 101 00:07:20,600 --> 00:07:24,170 Well, because my mom is checking. 102 00:07:24,290 --> 00:07:25,790 It is memorizing. 103 00:07:26,060 --> 00:07:27,500 Well, what is the value? 104 00:07:27,770 --> 00:07:36,470 So if this props value did not change, then we're not triggering the render because we need to remember 105 00:07:36,470 --> 00:07:42,940 that every time the props or the state changes component or renders. 106 00:07:43,460 --> 00:07:49,610 So in this case, what's happening is that we're triggering that rear ender with a count. 107 00:07:49,910 --> 00:07:50,420 Correct. 108 00:07:50,430 --> 00:07:54,830 Because each and every time we change that value, we triggering the referendum. 109 00:07:55,280 --> 00:08:04,220 Now, when we add this react memo, what we do is we check, we say, hey, listen, did the value for 110 00:08:04,220 --> 00:08:06,310 my props change or it's exactly the same. 111 00:08:06,560 --> 00:08:11,210 And of course, the answer is, as you're clicking on a button, the value for the product is exactly 112 00:08:11,210 --> 00:08:11,660 the same. 113 00:08:12,170 --> 00:08:16,290 So then react is like, OK, so now I don't need to render my component. 114 00:08:16,760 --> 00:08:25,590 So if we don't rearrange the big list, of course, as a result, we also don't render the single product. 115 00:08:25,940 --> 00:08:29,270 So that is the memory function in react. 10692

Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.