All language subtitles for 041 useState - Array Example.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:00,870 So that was fun. 2 00:00:01,080 --> 00:00:08,390 Now let's take a look at a more interesting example where our default value, our stock value will be 3 00:00:08,400 --> 00:00:08,870 all right. 4 00:00:09,510 --> 00:00:17,040 And essentially we'll be able to add the items, will be able to remove the items as well as clearly 5 00:00:17,040 --> 00:00:19,530 state value back to an empty area. 6 00:00:20,010 --> 00:00:26,880 And in order to see what we're going to create, I'm going to change, of course, my file. 7 00:00:27,210 --> 00:00:30,140 So I'll use a different path right now. 8 00:00:30,600 --> 00:00:32,730 I'll go for set up then. 9 00:00:32,730 --> 00:00:35,870 I'm looking for use state and then. 10 00:00:35,880 --> 00:00:36,240 All right. 11 00:00:36,630 --> 00:00:41,310 And what you should see in a browser is use state, Aurora, an example. 12 00:00:41,700 --> 00:00:44,460 Now, let's navigate there to that particular file. 13 00:00:44,730 --> 00:00:48,400 So what we're looking for is use state outrageous. 14 00:00:48,540 --> 00:00:51,090 And again, it is located in the. 15 00:00:52,500 --> 00:00:59,880 Now, in this case, though, I'll change this around, and instead of importing as a named export, 16 00:01:00,180 --> 00:01:06,710 I can show that we also have another option where, again, I would need to come up with those two values, 17 00:01:07,350 --> 00:01:09,090 however, I will call them. 18 00:01:09,330 --> 00:01:11,880 So in my case, it is going to be people. 19 00:01:12,130 --> 00:01:16,520 So that is going to be my right and then the function will be called set people. 20 00:01:16,740 --> 00:01:24,060 So these two things I need regardless, and that in order to invoke you state instead of importing, 21 00:01:24,330 --> 00:01:31,270 which is always an option, we can also do something like this where we go with react and then use and 22 00:01:31,620 --> 00:01:32,120 state. 23 00:01:32,130 --> 00:01:35,340 And like I said, this is where it would pass in the before trial. 24 00:01:35,580 --> 00:01:40,010 So, for example, as far as the weather, we could go with empty. 25 00:01:40,020 --> 00:01:40,360 All right. 26 00:01:41,130 --> 00:01:47,160 So these are two ways how we can set up either your airport or you go with the react dot and then you 27 00:01:47,160 --> 00:01:50,730 say, please keep in mind both of them do exactly the same thing. 28 00:01:50,970 --> 00:01:53,510 And that really depends on your preference. 29 00:01:53,820 --> 00:01:57,030 In my case, if I know that, I will use it just once. 30 00:01:57,390 --> 00:02:01,560 Most of the time I'm just lazy and I go with react and then use state power. 31 00:02:01,560 --> 00:02:08,820 If I know that I only walk it quite a few times in my component, then of course I just go with import 32 00:02:08,820 --> 00:02:14,380 and then use use state or whichever book name I pick online. 33 00:02:14,640 --> 00:02:16,470 That just saves me a little bit of typing. 34 00:02:16,590 --> 00:02:18,430 Again, that is up to you. 35 00:02:18,750 --> 00:02:25,890 So for the time being, we just have the empty array, which is somewhat OK, but we remember that we 36 00:02:25,890 --> 00:02:27,380 can pass whatever we would want. 37 00:02:27,810 --> 00:02:35,040 Now, if you'll take a look at the source folder, you'll find data just now in their address. 38 00:02:35,190 --> 00:02:38,310 We have an array and I name this data. 39 00:02:38,580 --> 00:02:42,720 And in here we have an array of objects where we have the idea. 40 00:02:42,840 --> 00:02:44,400 Remember, we needed to do that. 41 00:02:44,700 --> 00:02:51,240 If we're rendering the list, there had to be some kind of unique ID and then we just have the name 42 00:02:51,570 --> 00:02:52,470 and then value. 43 00:02:52,510 --> 00:02:54,950 So John, Peter, Susan and Anna. 44 00:02:55,230 --> 00:03:02,940 So what I would want to do right now in the USA Today, I already imported the data, so I noticed the 45 00:03:02,940 --> 00:03:03,330 path. 46 00:03:03,660 --> 00:03:10,820 I'm looking for data and then I need to go quite a few levels up and then look for that data. 47 00:03:11,250 --> 00:03:15,120 So I leave one folder, second and third, and then eventually I hit the source. 48 00:03:15,300 --> 00:03:18,000 And this is where I'm looking for the data. 49 00:03:18,090 --> 00:03:20,440 Again, this is going to be a relative path. 50 00:03:20,730 --> 00:03:27,480 So now what I would want is to pass in that data array as my default value. 51 00:03:27,900 --> 00:03:28,350 All right. 52 00:03:28,620 --> 00:03:29,080 Awesome. 53 00:03:29,340 --> 00:03:31,900 And then, of course, let's work on our return. 54 00:03:32,280 --> 00:03:36,180 Now, I could go with ReachOut, Fragment or a member. 55 00:03:36,180 --> 00:03:43,140 There is a shortcut where if I go with my angle brackets now, essentially I'm creating my fragment 56 00:03:43,410 --> 00:03:45,140 and I don't have that diffs. 57 00:03:45,720 --> 00:03:49,470 So now what I would want is to iterate over my area. 58 00:03:49,770 --> 00:03:51,030 So I go with people. 59 00:03:51,240 --> 00:03:53,550 Then again, we'll use the map method. 60 00:03:53,880 --> 00:03:59,100 And then for each and every person, I would want to return to something more meaningful. 61 00:03:59,640 --> 00:04:06,270 At first, I guess we can just return a hello and then we can just double check whether everything works, 62 00:04:06,690 --> 00:04:08,600 because of course, that is very, very important. 63 00:04:08,970 --> 00:04:14,490 If I don't have access to each and every person, essentially, if I don't have access to the object, 64 00:04:14,820 --> 00:04:16,650 well, kind of doesn't make sense. 65 00:04:16,650 --> 00:04:16,990 Correct. 66 00:04:17,280 --> 00:04:24,990 So if we cancel log beautifully, what I could say is John, Peter, Susan and I'm going to have four 67 00:04:24,990 --> 00:04:25,500 Hollow's. 68 00:04:25,830 --> 00:04:33,430 So now of course, let's do something a bit more meaningful where what I would want right now is to 69 00:04:33,480 --> 00:04:36,150 structure these two things, the idea. 70 00:04:36,630 --> 00:04:40,890 And then I'm also looking for a name now that is coming from the person. 71 00:04:41,160 --> 00:04:43,380 And then I would want to return a deer. 72 00:04:43,830 --> 00:04:51,630 Now, remember, when we render a list, we need to have this Kiprop and we need to pass in that unique 73 00:04:51,630 --> 00:04:52,180 value. 74 00:04:52,470 --> 00:04:56,510 Now, add a little bit of styling here where I'm going to say ihram. 75 00:04:56,760 --> 00:05:00,870 Again, that has nothing to do with functionality is just for the styling. 76 00:05:01,110 --> 00:05:07,920 And then let's set up a hearing for with a value of name just so we can see the name and then eventually 77 00:05:08,100 --> 00:05:09,710 we will set up our button. 78 00:05:10,140 --> 00:05:10,900 So awesome. 79 00:05:11,160 --> 00:05:14,400 Notice I have my list again. 80 00:05:14,760 --> 00:05:22,020 I used used state status, then I provided some default value, which in my case was done. 81 00:05:22,020 --> 00:05:22,340 All right. 82 00:05:22,830 --> 00:05:28,570 I could have added the empty array, but in my case I already prepared an array in there. 83 00:05:28,580 --> 00:05:31,730 Ajaz it is a array of objects. 84 00:05:32,110 --> 00:05:33,540 Then of course I invoked it. 85 00:05:34,370 --> 00:05:40,510 And then I'm getting to things, I'm getting whatever default value I have, so that is my state value 86 00:05:40,790 --> 00:05:44,100 and then I have the function that controls it. 87 00:05:44,840 --> 00:05:45,800 OK, good. 88 00:05:46,010 --> 00:05:52,760 And then, of course, just like with any other variable, I can just accept and iterating over like 89 00:05:52,760 --> 00:05:59,360 we have covered already before where we're iterating over and then we display for each and every item 90 00:05:59,630 --> 00:06:03,230 that's there and then we're just structuring idea. 91 00:06:03,440 --> 00:06:07,590 And but of course, now let's make it a bit more interesting. 92 00:06:08,030 --> 00:06:15,710 What if I would want to come up with a button that just delete all the items so right next to the people, 93 00:06:15,890 --> 00:06:17,660 I'll set up my button. 94 00:06:17,900 --> 00:06:22,980 I'll add here a class name of B10 and we'll set up our unclick. 95 00:06:23,360 --> 00:06:31,160 Now, if you want, you can set up here a function reference and this is something that we'll do later, 96 00:06:31,400 --> 00:06:34,180 once we would want to remove a specific item. 97 00:06:34,490 --> 00:06:37,150 But for now, I just want to showcase that. 98 00:06:37,160 --> 00:06:44,660 Of course, you can invoke this function directly in here where we're setting up the unclick. 99 00:06:45,350 --> 00:06:50,990 But the Gosia is going to be in this case, since we need to pass in the value, we'll have to set up 100 00:06:50,990 --> 00:06:52,350 a arole function as well. 101 00:06:52,370 --> 00:06:56,430 Remember, that was one of the cases that I showcased before. 102 00:06:56,960 --> 00:06:59,930 So in this case, let me write clear items. 103 00:07:00,140 --> 00:07:04,370 So that is the text in my button and let me showcase that. 104 00:07:04,700 --> 00:07:09,460 If we go set people, of course, we would need to pass in that new value. 105 00:07:09,650 --> 00:07:10,090 Correct. 106 00:07:10,580 --> 00:07:17,690 And if I want to set it up to an empty array, that just means that I will clear out all the items. 107 00:07:18,050 --> 00:07:25,220 Now, the problem is going to be that we right away invoke it, and that's not what we're looking for. 108 00:07:25,430 --> 00:07:30,350 So what we would want is only to invoke it once we click on it. 109 00:07:30,350 --> 00:07:34,890 And remember, the solution was to set up our arrow function first. 110 00:07:35,270 --> 00:07:38,440 So once we do that, then we'll have our button. 111 00:07:38,840 --> 00:07:40,670 And now what this button is doing. 112 00:07:41,000 --> 00:07:44,750 Well, it is calling a set people function. 113 00:07:44,960 --> 00:07:49,220 And remember, the only thing we need to do is to pass in that new value. 114 00:07:49,970 --> 00:07:51,440 So what is the new value in this case? 115 00:07:51,740 --> 00:07:59,190 Well, since I would want to clear all the items I just pass in the empty array, correct phonology. 116 00:07:59,480 --> 00:08:00,920 And of course, everything works. 117 00:08:01,160 --> 00:08:03,690 So now we remove all the items. 118 00:08:03,710 --> 00:08:10,190 Again, that is something you need to remember where, yes, you can call directly this function. 119 00:08:10,520 --> 00:08:17,930 You can set up a handler like we did previously and like we will do here where we would want to remove 120 00:08:17,930 --> 00:08:19,420 a single item. 121 00:08:19,430 --> 00:08:20,900 Yeah, that is definitely an option. 122 00:08:21,120 --> 00:08:23,330 We could have used the reference instead. 123 00:08:23,630 --> 00:08:29,630 But just keep in mind that, yes, you always can also use the inline function where you just need to 124 00:08:29,630 --> 00:08:35,260 set up a function and then call whatever function you have in the USA. 125 00:08:35,450 --> 00:08:38,140 That is always also your option. 126 00:08:38,480 --> 00:08:42,620 And now of course, let's work on removing that individual item. 127 00:08:43,070 --> 00:08:48,560 So in this case, I would want to first create a button, I guess, right next to the heading for let's 128 00:08:48,560 --> 00:08:51,200 go with button again will have on unclick. 129 00:08:51,530 --> 00:08:56,270 And in this case I will set up a function reference. 130 00:08:56,570 --> 00:09:05,300 So here, let's set up a curlier versus online will have again our function because we will invoke our 131 00:09:05,300 --> 00:09:05,780 friends here. 132 00:09:06,080 --> 00:09:15,320 So say remove item and now we want to pass in the idee and then I'll say remove, let's say that. 133 00:09:16,130 --> 00:09:21,410 And at the moment, it complains, well, you haven't created this remove item, so now of course, 134 00:09:21,410 --> 00:09:26,360 we need to work on our function where we say remove item and line. 135 00:09:26,360 --> 00:09:33,440 This remove item is going to be looking for the ID because, of course, for each and every item, I 136 00:09:33,440 --> 00:09:38,870 can grab that idea and then notice how we set up the arrow function and rewriter. 137 00:09:38,870 --> 00:09:42,620 We invoke the remove item with that specific idea. 138 00:09:43,070 --> 00:09:44,320 So essentially what happens? 139 00:09:44,630 --> 00:09:48,790 This doesn't run each and every time we run the wrap. 140 00:09:49,100 --> 00:09:51,850 In fact, it runs only when we click on a button. 141 00:09:51,860 --> 00:09:57,350 And this is going to be the first case that I talked about before when we talked about the events where 142 00:09:57,350 --> 00:09:59,210 you must have this our function. 143 00:09:59,480 --> 00:10:05,000 Each and every time you are invoking this function, you must have the R-AL function because you would 144 00:10:05,000 --> 00:10:08,890 want this to run only when you click on a button. 145 00:10:09,170 --> 00:10:15,440 And in this case, you have no other options since you are passing some kind of argument you are invoking. 146 00:10:15,440 --> 00:10:20,170 And so that's why you always need to return it from the Arrow function. 147 00:10:20,360 --> 00:10:25,880 So we have our remove item to remove item is always going to be looking for the idea and now let's set 148 00:10:25,880 --> 00:10:26,960 up the functionality. 149 00:10:27,320 --> 00:10:36,980 So in the remove item, what I would want is to filter out the array so all the items that don't have 150 00:10:36,980 --> 00:10:42,180 the matching ID, I would want to leave them in the tower, the one that has the matching. 151 00:10:42,680 --> 00:10:49,910 That one of course I would want to remove and now I can say set people and then set up the functionality 152 00:10:50,000 --> 00:10:53,930 right here in the parentheses what is always an option. 153 00:10:54,110 --> 00:11:00,290 But as far as the story goes on projects, I always like to be a bit more explicit where I'm going to 154 00:11:00,290 --> 00:11:02,130 create a new variable. 155 00:11:02,540 --> 00:11:10,930 So, for example, let new online people and that is going to be equal to my people state value. 156 00:11:11,270 --> 00:11:15,560 So my original van filter I'm filtering. 157 00:11:15,860 --> 00:11:21,200 And then for each and every person going to have, I would just want to remove the one that has the 158 00:11:21,200 --> 00:11:21,620 matching. 159 00:11:22,160 --> 00:11:26,540 So if I go here with person, I'd remember I'm filtering out the array. 160 00:11:26,540 --> 00:11:26,920 Correct. 161 00:11:27,290 --> 00:11:29,690 And then each and every object is there. 162 00:11:29,870 --> 00:11:35,990 And then I'm saying, hey, listen, if the person matches the idea that I'm passing in, then of course 163 00:11:35,990 --> 00:11:36,520 remove it. 164 00:11:36,530 --> 00:11:42,200 And the way I can do that, I can say exclamation point and then equals to an idea. 165 00:11:42,680 --> 00:11:50,120 So essentially the logic is following where we pass in the ID, then we filter out our array and all 166 00:11:50,120 --> 00:11:55,370 the items whose IDs are not matching to whatever we're passing in. 167 00:11:55,640 --> 00:11:58,160 Those ones are written in new people. 168 00:11:58,460 --> 00:12:00,170 Now, if you want, you can control it. 169 00:12:00,170 --> 00:12:04,160 But in my case, I'll pass in the the set people. 170 00:12:04,370 --> 00:12:05,520 So I have my function. 171 00:12:05,540 --> 00:12:08,270 Like I said, I can pass in whatever I want. 172 00:12:08,300 --> 00:12:16,070 So of course this is that new array that we're getting back and I'm just passing in into the set people. 173 00:12:16,280 --> 00:12:23,690 And what you'll notice right now that we have our buttons and the moment I click, I remove that specific 174 00:12:23,690 --> 00:12:27,760 item and I click on John, I remove John, Peter and Anna. 175 00:12:27,840 --> 00:12:31,780 And of course, once I refresh, I have all my items back. 176 00:12:31,790 --> 00:12:36,590 Now, if I want to remove all the list, because I can do it also as well. 177 00:12:36,840 --> 00:12:37,970 A few takeaways. 178 00:12:38,480 --> 00:12:45,110 We can set up this logic right here where we're passing in the new value because remember what filter? 179 00:12:45,290 --> 00:12:49,760 We are getting a new array anyway at the end of the day. 180 00:12:50,180 --> 00:12:56,900 So in my case, I just like to go a bit more explicit where I'm creating new variable and only then 181 00:12:57,110 --> 00:13:02,910 I pass it into the set people and the second one is going to be pretty common. 182 00:13:02,950 --> 00:13:03,420 Gotcha. 183 00:13:03,870 --> 00:13:12,080 Where since we have either function reference in here or we would want to invoke, of course, the function 184 00:13:12,080 --> 00:13:18,650 that we're getting back from the state, since in both cases we're passing in the argument. 185 00:13:18,830 --> 00:13:20,780 We're also invoking it. 186 00:13:21,200 --> 00:13:27,320 And that's why we always need to set up the Arrow function, otherwise it will run right away. 187 00:13:28,180 --> 00:13:35,230 So essentially when we ran the rap and that it will invoke it online, in that case, we are not running 188 00:13:35,230 --> 00:13:40,990 it when we're clicking on a function we are running at the moment, our app runs and that's not what 189 00:13:40,990 --> 00:13:41,640 we're looking for. 190 00:13:41,770 --> 00:13:47,050 But those would be the basics, how we can use you state hook with another. 18117

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