All language subtitles for 030 Key Prop and Spread Operator.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,240 --> 00:00:07,740 Excellent job, we have our list of the only nagging thing is the fact that we have this warning about 2 00:00:07,860 --> 00:00:09,470 that unique Kiprop. 3 00:00:10,050 --> 00:00:12,930 So what is happening here and how we can fix it? 4 00:00:13,440 --> 00:00:20,040 You see later as we are progressing with react, of course, what we would want to do with list is, 5 00:00:20,040 --> 00:00:27,510 for example, to remove some items or maybe add the items and react, wants to keep a track of what 6 00:00:27,510 --> 00:00:29,470 we're adding, what we're removing. 7 00:00:29,760 --> 00:00:32,790 So react is always in the loop. 8 00:00:33,450 --> 00:00:40,440 Now, in order to do that, we would need to set up a special Kiprop for each and every item that worked 9 00:00:40,440 --> 00:00:40,630 on. 10 00:00:40,860 --> 00:00:48,090 So essentially, each and every time you have a list and react, you need to add a Kiprop with a unique 11 00:00:48,090 --> 00:00:48,360 value. 12 00:00:48,690 --> 00:00:53,400 Now, I can tell right away that in most cases will be hitting up the API anyway. 13 00:00:53,670 --> 00:00:58,470 So there's always some kind of unique value, whether that is for the product or whatever that is for 14 00:00:58,470 --> 00:01:00,000 the user or whatever. 15 00:01:00,030 --> 00:01:06,690 However, in this case, since we are the ones who are setting up these items, well, of course I need 16 00:01:06,690 --> 00:01:07,200 to add that. 17 00:01:07,380 --> 00:01:13,020 So in here, we just need to go with ID and then whatever value you want, as long as it is unique. 18 00:01:13,260 --> 00:01:20,850 So in my case, I'm just going to go with idea one, the idea of two and the idea of three as well. 19 00:01:21,150 --> 00:01:24,450 So copy and paste and then ID after. 20 00:01:24,720 --> 00:01:30,510 So now of course, you'll notice that while we have the error because we're not passing it now, how 21 00:01:30,510 --> 00:01:33,750 I can access that while I could structure it if I had one. 22 00:01:33,840 --> 00:01:34,250 Correct. 23 00:01:34,510 --> 00:01:40,260 However, in this case, I think it's just going to be simple where I go with book and then ID now I 24 00:01:40,260 --> 00:01:43,580 don't need to deal with that key anything in the actual book. 25 00:01:43,830 --> 00:01:50,250 But now you'll notice that React is not going to complain anymore, where now everything is fine as 26 00:01:50,250 --> 00:01:52,350 long as you pass this special prop. 27 00:01:52,620 --> 00:01:54,390 Again, this is not checking back. 28 00:01:54,600 --> 00:01:58,090 This has to be a key and unique value. 29 00:01:58,440 --> 00:01:58,830 No. 30 00:01:58,830 --> 00:02:06,030 One thing you'll notice once in a while where people are adding the index because in the map you can 31 00:02:06,030 --> 00:02:07,040 access index. 32 00:02:07,410 --> 00:02:09,690 Yes, you can technically do that. 33 00:02:09,870 --> 00:02:12,270 In this case, there's going to be no problem. 34 00:02:12,480 --> 00:02:18,380 You can how it's going to be a problem if you're actually doing something with the list. 35 00:02:18,780 --> 00:02:24,630 So my suggestion will be following where if you know that your list will never pretty much change, 36 00:02:24,870 --> 00:02:30,810 so you won't be removing the items or adding them dynamically, you can technically let the slide and 37 00:02:30,840 --> 00:02:31,700 use the index. 38 00:02:32,070 --> 00:02:38,250 However, it is a better setup if you always definitely use something unique, because keep in mind 39 00:02:38,250 --> 00:02:42,240 that index is change as your array is changing. 40 00:02:42,510 --> 00:02:46,570 How are the ID so that unique property won't change? 41 00:02:46,860 --> 00:02:47,340 All right. 42 00:02:47,580 --> 00:02:54,780 And the last thing that I would want to talk about in this video is another way how we can pass in those 43 00:02:54,780 --> 00:02:55,150 props. 44 00:02:55,440 --> 00:03:03,510 So one of the ways was setting up this book as an object prop where I have the book prop and then I'm 45 00:03:03,660 --> 00:03:06,720 passing and of course, this book object. 46 00:03:06,990 --> 00:03:10,750 However, there's also a case where we can use a separate operator. 47 00:03:10,890 --> 00:03:16,590 Again, my job is to show you multiple syntaxes, multiple ways how you can solve it. 48 00:03:16,810 --> 00:03:19,770 It is up to you whichever way you prefer. 49 00:03:20,010 --> 00:03:23,250 If you don't like the spread operator set up, you don't have to use it. 50 00:03:23,260 --> 00:03:29,940 However, that is my favorite, so I will use it somewhat often throughout the course. 51 00:03:30,240 --> 00:03:35,490 So what am I doing over here instead of passing this as a object? 52 00:03:36,350 --> 00:03:43,520 What I'm saying is that I would want to spread out all the properties, so in Essex we have separate 53 00:03:43,530 --> 00:03:50,330 operator where I just go with dot, dot, dot, and that whatever is the name of the object. 54 00:03:50,720 --> 00:03:53,420 So now what happens when I'm passing in? 55 00:03:53,570 --> 00:03:54,970 I'm not passing anymore. 56 00:03:55,040 --> 00:03:58,310 This book Property as a object. 57 00:03:58,520 --> 00:04:05,690 What I'm passing this in as a separate property and in that way I don't need to use any more the book 58 00:04:05,720 --> 00:04:07,000 property altogether. 59 00:04:07,310 --> 00:04:14,720 What I can say is that I would like to spread out all the properties here that are coming from the book 60 00:04:15,110 --> 00:04:16,910 on my property. 61 00:04:17,300 --> 00:04:23,720 So what that means, again, we go back to our previous setup where either I'm looking for a prompt 62 00:04:24,080 --> 00:04:30,820 if I'm the structuring over here, or keep in mind, I can also do it in function parameters as well. 63 00:04:31,190 --> 00:04:34,910 So, yes, again, some refactoring, some different way. 64 00:04:34,910 --> 00:04:35,780 How to solve that? 65 00:04:36,110 --> 00:04:42,740 I know it's annoying for some people, but in general, it is a good practice to understand that there's 66 00:04:43,010 --> 00:04:44,620 multiple ways how to solve it. 67 00:04:44,630 --> 00:04:49,550 And again, it's up to you to decide whichever method you prefer. 68 00:04:49,880 --> 00:04:55,880 So, again, if we will constantly log props right now, you'll see that we are back to that setup where 69 00:04:55,910 --> 00:04:57,260 props is an object. 70 00:04:57,590 --> 00:04:58,850 So not anymore. 71 00:04:58,880 --> 00:05:05,850 This book object that we're passing, we're spraying out all the properties that we have in the book. 72 00:05:06,230 --> 00:05:12,800 So once it's back to being an object, then, of course I can access these properties one by one, either 73 00:05:12,800 --> 00:05:15,470 here or of course, we can come this out. 74 00:05:15,650 --> 00:05:23,750 And yes, we'll refactor it one more time where we say IMG title and the author again, both of them 75 00:05:23,750 --> 00:05:25,700 do exactly the same thing. 76 00:05:25,970 --> 00:05:28,040 So the result will be exactly the same. 77 00:05:28,400 --> 00:05:33,230 But you will see this type of syntax in other people's code. 78 00:05:33,470 --> 00:05:35,770 So it's very useful to understand what is happening. 79 00:05:35,900 --> 00:05:42,440 So instead of passing a book as an object and then accessing those properties one by one, I can say 80 00:05:42,620 --> 00:05:44,370 how many properties I have. 81 00:05:44,390 --> 00:05:45,050 Doesn't matter. 82 00:05:45,230 --> 00:05:49,480 Just spread them out as props and then of course, I can access them. 83 00:05:49,490 --> 00:05:53,800 Now, of course, the names need to match if he or I call this IMG. 84 00:05:54,050 --> 00:06:01,070 And of course, when you're trying to access them, when you're structuring them, that also you would 85 00:06:01,070 --> 00:06:03,200 need to have the same name. 8072

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