All language subtitles for 069 Prop Drilling.en_US

af Afrikaans
sq Albanian
am Amharic
ar Arabic
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bn Bengali
bs Bosnian
bg Bulgarian
ca Catalan
ceb Cebuano
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
tl Filipino
fi Finnish
fr French
fy Frisian
gl Galician
ka Georgian
de German
el Greek
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian
is Icelandic
ig Igbo
id Indonesian
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
km Khmer
ko Korean
ku Kurdish (Kurmanji)
ky Kyrgyz
lo Lao
la Latin
lv Latvian
lt Lithuanian
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mn Mongolian
my Myanmar (Burmese)
ne Nepali
no Norwegian
ps Pashto
fa Persian
pl Polish
pt Portuguese
pa Punjabi
ro Romanian Download
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
st Sesotho
sn Shona
sd Sindhi
si Sinhala
sk Slovak
sl Slovenian
so Somali
es Spanish
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
te Telugu
th Thai
tr Turkish
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese
cy Welsh
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu
or Odia (Oriya)
rw Kinyarwanda
tk Turkmen
tt Tatar
ug Uyghur
Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated: 1 00:00:00,180 --> 00:00:07,470 Amazing job, and once we have covered use reducer and hopefully worked on this project as well. 2 00:00:07,830 --> 00:00:11,730 Now I want to talk about the proposed drilling now. 3 00:00:11,740 --> 00:00:14,460 Let me just emphasize something right away. 4 00:00:14,490 --> 00:00:18,290 Where prop drilling is not an official term. 5 00:00:18,630 --> 00:00:27,180 However, it is somewhat of the side effect when you have multiple components and then you have the 6 00:00:27,210 --> 00:00:36,330 big componentry, and then you need to start passing some state from the top component all the way to 7 00:00:36,330 --> 00:00:38,850 the bottom of your componentry. 8 00:00:39,300 --> 00:00:47,190 And the reason why we will cover drilling first is because in a next tutorial chapter in the U.S. context, 9 00:00:47,190 --> 00:00:50,640 we'll see how use context fixes that. 10 00:00:51,460 --> 00:00:58,510 And more specifically, will we take a look at the context API that is designed for that and not use 11 00:00:58,510 --> 00:01:02,600 context is the new way how we can access that context? 12 00:01:02,980 --> 00:01:10,960 So this is going to be somewhat of a repetition where we will set up a component where basically we 13 00:01:10,960 --> 00:01:16,150 have less than one each and every item in the list has a button and we will just want to remove that 14 00:01:16,150 --> 00:01:16,540 item. 15 00:01:17,020 --> 00:01:23,380 So a little bit of repetition just to see what is Propp drilling and how it looks like. 16 00:01:23,560 --> 00:01:31,060 And then in the next chapter, we'll see how we can fix that using the context API as well as use context. 17 00:01:31,270 --> 00:01:31,540 OK. 18 00:01:31,990 --> 00:01:32,440 All right. 19 00:01:32,710 --> 00:01:33,130 Now. 20 00:01:33,910 --> 00:01:37,780 We're going to navigate to our prop drilling folder. 21 00:01:38,050 --> 00:01:45,310 We have prop drilling dress and of course, it is in the folder No.7 and then the set up in the app 22 00:01:45,310 --> 00:01:46,210 I would want to import. 23 00:01:46,210 --> 00:01:52,530 I guess I would start with that where I'm going to go with import, I'm looking for set up and that 24 00:01:52,570 --> 00:01:58,660 it is coming from the editorial line prob drilling of course, and then the set up. 25 00:01:59,010 --> 00:02:00,640 Now we would want render. 26 00:02:01,000 --> 00:02:05,010 So we're going to go here with a setup and there it is. 27 00:02:05,050 --> 00:02:09,210 Now of course it complains that there is some type of issue. 28 00:02:09,550 --> 00:02:12,530 So let's not forget there we have the proper drilling. 29 00:02:12,550 --> 00:02:14,110 Everything should work. 30 00:02:14,410 --> 00:02:20,770 And of course, the reason why it doesn't work because I successfully messed it up by not pointing to 31 00:02:20,770 --> 00:02:21,760 a specific pipe. 32 00:02:22,280 --> 00:02:25,600 Now, of course, we have the Parap drilling. 33 00:02:25,660 --> 00:02:32,200 Now, once we're here, like I said, a little bit of repetition where essentially we'll create a list 34 00:02:32,590 --> 00:02:36,730 and then we will have the items in the list, of course. 35 00:02:37,090 --> 00:02:42,760 And then each and every item will have that option of removing itself from the list. 36 00:02:43,030 --> 00:02:45,190 Now, we do need to have a data here. 37 00:02:45,190 --> 00:02:49,480 So let's go with the import and the data that is coming from. 38 00:02:49,840 --> 00:02:52,630 And of course, we need to go multiple levels up. 39 00:02:53,180 --> 00:02:57,650 So I believe three and there is our data. 40 00:02:57,970 --> 00:03:04,470 So once we have the data now, I would want to set up my main component where I have the const. 41 00:03:04,480 --> 00:03:06,700 I'll have a list value here. 42 00:03:06,920 --> 00:03:15,790 So people again set people that people and that is equal to a year's state and then will pass in that 43 00:03:15,790 --> 00:03:16,150 data. 44 00:03:16,450 --> 00:03:21,790 So we should have, again, that basic array that we already covered before. 45 00:03:22,240 --> 00:03:27,280 And now, of course, what I would want is to do some kind of return in my address. 46 00:03:27,940 --> 00:03:29,770 So start by returning a section. 47 00:03:30,920 --> 00:03:40,340 So let's go with section online, let's write Hurring three maybe, and let's just say prop a drilling 48 00:03:40,760 --> 00:03:43,030 and also I would want to have a list. 49 00:03:43,610 --> 00:03:49,970 So there's going to be a list component that takes as a prop the people. 50 00:03:50,390 --> 00:03:56,240 So we're going to look for people here and that is going to be equal, of course, to my people. 51 00:03:56,240 --> 00:03:59,230 State value and what's missing is my list. 52 00:03:59,240 --> 00:03:59,610 Correct. 53 00:03:59,870 --> 00:04:00,860 So we'll go with list. 54 00:04:00,860 --> 00:04:04,280 And I know that I'm going to be looking for people. 55 00:04:04,590 --> 00:04:09,970 Perhaps that's why I will the structure it right here without any hesitation. 56 00:04:10,520 --> 00:04:14,040 And as far as the return, I would want to iterate over that. 57 00:04:14,060 --> 00:04:14,350 Right. 58 00:04:14,540 --> 00:04:16,360 Because we already know that it isn't right. 59 00:04:16,700 --> 00:04:23,540 And then for each and every item, I would want to render the single person component that I haven't 60 00:04:23,540 --> 00:04:24,280 created yet. 61 00:04:24,590 --> 00:04:26,210 So I just go with return. 62 00:04:27,260 --> 00:04:34,430 We will close out our fragment and then, like I said, we'll just go with people, all right. 63 00:04:34,730 --> 00:04:38,390 We use map each and every item is a person. 64 00:04:38,660 --> 00:04:46,280 And what I would want to return is a single person component that we're going to create nanoseconds 65 00:04:46,280 --> 00:04:51,140 a of contact and then a single person is equal. 66 00:04:51,500 --> 00:04:56,270 And in a single person, again, I know that person is an object. 67 00:04:56,510 --> 00:05:01,070 There's going to be multiple properties if you need to jog your memory. 68 00:05:01,250 --> 00:05:02,600 This is our data. 69 00:05:02,600 --> 00:05:04,160 So we have ID and name. 70 00:05:04,460 --> 00:05:11,150 And what I would want in that single person is to target the ID name for now. 71 00:05:11,340 --> 00:05:18,350 Eventually there's going to be more data, but for now we'll just target ID and name like so. 72 00:05:18,710 --> 00:05:26,630 And then as far as the return, let's just return a div with the class of item, class name and line 73 00:05:27,110 --> 00:05:27,920 item here. 74 00:05:28,310 --> 00:05:31,970 And for the time being let's just write a single item. 75 00:05:32,270 --> 00:05:36,380 So heading for with a single item. 76 00:05:36,680 --> 00:05:40,160 And now of course what I want is where I'm returning. 77 00:05:40,970 --> 00:05:46,040 I'm going to go with a single person and I'll right away get my I.D. because remember we still have 78 00:05:46,040 --> 00:05:46,400 the list. 79 00:05:46,410 --> 00:05:52,000 So we need to use the Kiprop and let's just say here person and then dot it. 80 00:05:52,640 --> 00:05:57,930 So once we save, we should have four single items on the screen. 81 00:05:58,370 --> 00:05:59,450 Now, why do we have one? 82 00:05:59,470 --> 00:06:03,110 Well, because my asked for objects. 83 00:06:04,120 --> 00:06:12,090 And just so we all are on the same page, we have our we set it equal to data, that's our initial value, 84 00:06:12,490 --> 00:06:18,370 then we have the first return where we have that in three with proper drilling and then our list component 85 00:06:18,610 --> 00:06:20,680 that takes a prop. 86 00:06:21,010 --> 00:06:27,630 And I named people and I set it equal to my state value of people than in here on the structure. 87 00:06:27,640 --> 00:06:34,600 Right away, the people drop out of the props and I'm returning a people map. 88 00:06:34,600 --> 00:06:37,600 So a new array weren't iterating over people. 89 00:06:37,870 --> 00:06:45,700 And then for each and every item in my area, I return a single person component. 90 00:06:45,970 --> 00:06:48,850 And then since that is list, I need to pass in the key. 91 00:06:49,570 --> 00:06:56,170 And then in this component, of course, I'm accessing the ID, which I'm not using at the moment. 92 00:06:56,380 --> 00:06:59,970 And as far as the return, I'm returning a single item. 93 00:07:00,640 --> 00:07:07,270 So that is something that we have already covered more than a few times when we talk about tutorials 94 00:07:07,450 --> 00:07:09,080 as well as the project. 95 00:07:09,520 --> 00:07:11,770 Now, here comes the interesting part. 96 00:07:12,430 --> 00:07:20,350 Well, what if I would want to set up a function that deletes that one single item from the list? 97 00:07:21,070 --> 00:07:27,670 OK, let's first set up the functionality and then, of course, we'll deal with the rest of the year. 98 00:07:28,210 --> 00:07:30,040 So we're going to go with const. 99 00:07:30,040 --> 00:07:37,660 I'll call this a remove person is equal to an idea because this particular function will be looking 100 00:07:37,660 --> 00:07:38,410 for the array. 101 00:07:38,800 --> 00:07:43,780 Then we need to call set people then again, just so we can practice a little bit. 102 00:07:44,070 --> 00:07:46,030 I'll call this in a function. 103 00:07:46,900 --> 00:07:56,050 I'll say my current state value is equal to people, and then let's just return people filter and each 104 00:07:56,050 --> 00:07:59,170 and every item will be set up as a person. 105 00:07:59,410 --> 00:08:06,730 And I'll say, if the person ID does not match to whatever ID I pass them, then of course I'll return 106 00:08:06,730 --> 00:08:06,880 it. 107 00:08:07,210 --> 00:08:16,030 If it does match, then are removed from the list of person idea is not equal to an I.D. like so let's 108 00:08:16,030 --> 00:08:18,730 say it and we have the function beautiful. 109 00:08:18,730 --> 00:08:24,100 And now the interesting part starts where now I need to get this function where. 110 00:08:24,970 --> 00:08:26,320 Well I need it here. 111 00:08:26,320 --> 00:08:26,720 Correct. 112 00:08:27,400 --> 00:08:30,100 So what are we doing first. 113 00:08:30,340 --> 00:08:34,230 Need to pass and then we'll have to structure it. 114 00:08:34,240 --> 00:08:42,610 Of course then we'll need to pass into a single person and then eventually we'll also have to use it 115 00:08:42,940 --> 00:08:44,140 over here. 116 00:08:45,000 --> 00:08:54,000 So the big question is, how can we get this function all the way here and this is that prop drilling 117 00:08:54,000 --> 00:09:02,700 where essentially we have the component here and you can make a good argument that this component, 118 00:09:02,700 --> 00:09:08,600 the lowest component, does not does not need that remove person function. 119 00:09:08,610 --> 00:09:14,130 But there's no other way for us to pass it down to a single person. 120 00:09:14,340 --> 00:09:17,430 I mean, I cannot simply say, all right, remove person. 121 00:09:17,610 --> 00:09:19,620 You'll be called here in a single person. 122 00:09:20,220 --> 00:09:24,090 A single person needs to somehow have access to that remote person. 123 00:09:24,330 --> 00:09:32,700 And this is what the prop drilling is, where the illest component will have to take to remove person 124 00:09:32,850 --> 00:09:35,700 and pass it down to a single person. 125 00:09:35,970 --> 00:09:40,740 So first, let's start by passing the remove person as a prop down. 126 00:09:41,100 --> 00:09:48,390 And that is something that you need to keep in mind where when we talk about the functions, we also 127 00:09:48,390 --> 00:09:50,190 can pass them as props. 128 00:09:50,460 --> 00:09:53,310 We're not limited to just state values. 129 00:09:54,060 --> 00:10:00,670 So in this case, let's go with our person is equal to a remove person. 130 00:10:00,900 --> 00:10:04,680 So now I'm passing in my function now in the list. 131 00:10:04,680 --> 00:10:06,510 Like I said, I would need to structure it. 132 00:10:06,840 --> 00:10:14,030 I would need to say, all right, so get me this removed person from my props and now I need to pass 133 00:10:14,040 --> 00:10:15,600 it into a single person. 134 00:10:16,020 --> 00:10:23,430 Now, I also need to pass in this ID and name and like I already previously covered, we have multiple 135 00:10:23,430 --> 00:10:24,330 ways how we can do that. 136 00:10:24,330 --> 00:10:32,070 But my preference is using this spread object notation where I just go with curly braces and then the 137 00:10:32,070 --> 00:10:39,420 dot and then whatever is the name of my parameter, meaning this now points to that item in the list. 138 00:10:39,600 --> 00:10:47,580 And I'm just saying, you know, add all the properties, meaning in this case I and name on to the 139 00:10:47,580 --> 00:10:49,410 props of the single person. 140 00:10:49,440 --> 00:10:52,680 And that's why right away I have access to the ID and name. 141 00:10:52,890 --> 00:10:57,170 And then again we need to pass in that remove person. 142 00:10:57,540 --> 00:11:00,490 So go here with remove person. 143 00:11:00,690 --> 00:11:02,060 So now we're passing it down. 144 00:11:02,250 --> 00:11:09,510 And of course if I'm looking for a name I can also look for remove person prop. 145 00:11:09,720 --> 00:11:10,220 Correct. 146 00:11:10,230 --> 00:11:17,700 Because now we pass that down so we say remove person and now it's finally set up our logic. 147 00:11:17,700 --> 00:11:20,130 We're not going to say heading for central item. 148 00:11:20,580 --> 00:11:21,960 There's a name here. 149 00:11:22,470 --> 00:11:25,100 So I'm going to be looking for my name prop. 150 00:11:25,380 --> 00:11:32,950 And also I would want to set up a button where I could set up a on clerk that will trigger that ermold 151 00:11:32,970 --> 00:11:33,380 person. 152 00:11:33,570 --> 00:11:42,780 So button that on click is equal to a in one function here and I'll say remove person. 153 00:11:43,020 --> 00:11:47,340 And I also want to grab that ID each and every item. 154 00:11:47,340 --> 00:11:50,070 The single person item will have that unique ID. 155 00:11:50,670 --> 00:11:51,110 Correct. 156 00:11:51,390 --> 00:11:57,270 And now of course I would want to invoke my remove person once I click on a button with that specific 157 00:11:57,270 --> 00:11:57,540 idea. 158 00:11:58,350 --> 00:12:07,070 And then as far as the value we are right Irmo and again idea of prop drilling is following where list 159 00:12:07,080 --> 00:12:14,880 component technically does not does not need to have access to the remove person. 160 00:12:14,880 --> 00:12:23,700 But we have no other way to parse down our function in a single person unless we actually pass it through 161 00:12:23,700 --> 00:12:28,140 the list because that is something called prop drilling, because we need to understand that there's 162 00:12:28,140 --> 00:12:30,270 definitely could be more components. 163 00:12:30,750 --> 00:12:37,860 So if we, for example, set up this function all the way up in the prop drilling, what if I'm going 164 00:12:37,860 --> 00:12:42,690 to have, I don't know, two or three components down the componentry? 165 00:12:43,200 --> 00:12:48,750 So from the single person, I would need to keep on passing and passing and passing and passing all 166 00:12:48,750 --> 00:12:53,730 the way down to that one specific component that is looking for that remove person. 167 00:12:54,090 --> 00:12:58,710 And that is something that the context API as well as Redox. 168 00:12:58,710 --> 00:13:01,710 But redacts is definitely for more complex cases. 169 00:13:02,070 --> 00:13:07,290 I wouldn't suggest certain products for this particular scenario, but Context API is beautiful for 170 00:13:07,290 --> 00:13:13,710 this type of scenario where essentially we can avoid this prop drilling. 171 00:13:14,130 --> 00:13:15,930 OK, hopefully that is clear. 172 00:13:16,110 --> 00:13:23,690 We understand what is prop drilling and then in the next chapter we will take a look at how context 173 00:13:23,710 --> 00:13:31,710 API helps us to fix it, where we won't have to pass in return through the list or any other components 174 00:13:31,710 --> 00:13:38,490 we would have into that one specific component that is looking for a function that is all the way up 175 00:13:38,850 --> 00:13:40,700 in the component componentry. 16753

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