Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated:
1
00:00:02,180 --> 00:00:03,490
Na prošlom predavanju,
2
00:00:03,490 --> 00:00:08,490
naučili smo o veoma važnom konceptu premeštanja podataka
3
00:00:08,990 --> 00:00:13,990
sa podređene na roditeljsku komponentu korištenjem rekvizita
4
00:00:14,180 --> 00:00:17,810
za primanje funkcije od roditeljske komponente
5
00:00:17,810 --> 00:00:20,410
koju zovemo u podređenoj komponenti.
6
00:00:20,410 --> 00:00:23,960
A ovo je usko povezano s drugim,
7
00:00:23,960 --> 00:00:27,790
ključni koncept koji smo takođe već koristili
8
00:00:27,790 --> 00:00:29,430
a da ni ne zna.
9
00:00:29,430 --> 00:00:33,360
A to je koncept koji se zove Lifting State Up.
10
00:00:33,360 --> 00:00:34,823
O čemu se radi?
11
00:00:35,720 --> 00:00:38,760
Razmotrite ovo osnovno stablo komponenti
12
00:00:38,760 --> 00:00:42,990
što je otprilike ono što imamo u ovoj demo aplikaciji
13
00:00:42,990 --> 00:00:45,270
gdje imamo komponentu aplikacije
14
00:00:45,270 --> 00:00:47,730
što zauzvrat donosi i troškove
15
00:00:47,730 --> 00:00:50,610
i novu komponentu troškova.
16
00:00:50,610 --> 00:00:52,000
Sada, u ovom slučaju,
17
00:00:52,000 --> 00:00:55,160
nova komponenta troškova je komponenta
18
00:00:55,160 --> 00:00:58,720
koji generiše neke podatke, neko stanje.
19
00:00:58,720 --> 00:01:01,250
U našem primjeru aplikacije,
20
00:01:01,250 --> 00:01:04,400
ovdje dohvaćamo neke korisničke podatke.
21
00:01:04,400 --> 00:01:07,930
Sada je prilično uobičajeno da generirate
22
00:01:07,930 --> 00:01:11,110
ili dohvati podatke u komponenti
23
00:01:11,110 --> 00:01:15,438
but that you might not need that data in that component.
24
00:01:15,438 --> 00:01:18,310
Instead, we need it in another component,
25
00:01:18,310 --> 00:01:19,930
in the expenses component.
26
00:01:19,930 --> 00:01:23,730
That's where this generated data is needed in the end,
27
00:01:23,730 --> 00:01:27,440
slightly transformed, packed into an object
28
00:01:27,440 --> 00:01:31,450
but it is the data we fetch in new expense.
29
00:01:31,450 --> 00:01:36,450
So naturally we would like to hand that data over
30
00:01:37,030 --> 00:01:38,730
but that doesn't work like this
31
00:01:38,730 --> 00:01:41,720
because we have no direct connection
32
00:01:41,720 --> 00:01:45,120
between two sibling components.
33
00:01:45,120 --> 00:01:47,290
Instead, as you learned by now,
34
00:01:47,290 --> 00:01:51,830
we can only communicate from parent to child
35
00:01:51,830 --> 00:01:54,183
and from child to parent.
36
00:01:55,480 --> 00:01:58,930
That's why in such cases like we have it here,
37
00:01:58,930 --> 00:02:02,990
we utilize the closest component,
38
00:02:02,990 --> 00:02:06,430
the closest parent component which has direct
39
00:02:06,430 --> 00:02:10,790
or indirect access to both involved components
40
00:02:10,790 --> 00:02:13,520
in this case, the app component.
41
00:02:13,520 --> 00:02:16,860
The app component in our application has access
42
00:02:16,860 --> 00:02:20,200
to both the new expense and the expenses component
43
00:02:20,200 --> 00:02:25,200
jer prikazuje obje komponente u svom vraćenom JSX kodu,
44
00:02:27,350 --> 00:02:29,700
zato to želimo iskoristiti.
45
00:02:29,700 --> 00:02:32,630
Jer sada možemo pohraniti našu državu
46
00:02:32,630 --> 00:02:35,970
u toj najbližoj uključenoj komponenti.
47
00:02:35,970 --> 00:02:38,820
Dakle, u toj roditeljskoj komponenti koja ima pristup
48
00:02:38,820 --> 00:02:43,820
na obje uključene komponente podizanjem naše države.
49
00:02:44,460 --> 00:02:49,460
Dakle, prosljeđivanjem naših generiranih podataka o stanju iz novog troška
50
00:02:49,870 --> 00:02:51,910
na komponentu aplikacije.
51
00:02:51,910 --> 00:02:53,740
I to je ono što već radimo
52
00:02:53,740 --> 00:02:55,670
u ovoj demo aplikaciji.
53
00:02:55,670 --> 00:02:59,230
Ovo radimo koristeći rekvizite,
54
00:02:59,230 --> 00:03:04,230
pozivanjem funkcije koju primamo na onAddExpense prop.
55
00:03:04,910 --> 00:03:07,880
Samo to ne podiže državu.
56
00:03:07,880 --> 00:03:09,720
To je samo pozivanje funkcije
57
00:03:09,720 --> 00:03:11,970
primamo preko rekvizita.
58
00:03:11,970 --> 00:03:14,230
Ali onda radimo nešto važno.
59
00:03:14,230 --> 00:03:18,500
Mi zapravo prosljeđujemo podatke toj funkciji
60
00:03:18,500 --> 00:03:20,250
koju mi ovde zovemo.
61
00:03:20,250 --> 00:03:24,690
Podatke o troškovima prosljeđujemo u funkciju koju primamo
62
00:03:24,690 --> 00:03:27,093
na onAddExpense prop.
63
00:03:27,960 --> 00:03:30,670
Dakle, prosljeđujemo podatke toj funkciji,
64
00:03:30,670 --> 00:03:34,411
i na taj način podižemo te podatke,
65
00:03:34,411 --> 00:03:36,600
to stanje gore.
66
00:03:36,600 --> 00:03:39,530
Nećemo ga zadržati u novoj komponenti troškova.
67
00:03:39,530 --> 00:03:42,100
Tamo ne čuvamo podatke o troškovima,
68
00:03:42,100 --> 00:03:46,530
umjesto toga, podižemo ga na komponentu aplikacije
69
00:03:46,530 --> 00:03:51,500
tako da ga tamo možemo koristiti kao AddExpenseHandler
70
00:03:51,500 --> 00:03:55,690
gdje ga trenutno evidentiramo na konzoli.
71
00:03:55,690 --> 00:03:59,660
Sada još ne upravljamo tim podacima kao stanjem ovdje,
72
00:03:59,660 --> 00:04:02,450
umjesto toga, samo ga evidentiramo na konzoli.
73
00:04:02,450 --> 00:04:04,830
Ali u sljedećem dijelu kursa,
74
00:04:04,830 --> 00:04:09,830
mi ćemo upravljati cijelim ovim nizom ovdje kao stanjem.
75
00:04:10,030 --> 00:04:13,950
I tom nizu ćemo dodati trošak.
76
00:04:13,950 --> 00:04:17,270
I mi već prenosimo taj niz
77
00:04:17,270 --> 00:04:21,470
na komponentu troškova jer je to drugi dio
78
00:04:21,470 --> 00:04:24,680
ovog koncepta podizanja države.
79
00:04:24,680 --> 00:04:27,050
Podižemo državu.
80
00:04:27,050 --> 00:04:30,950
Mi prosljeđujemo podatke do neke roditeljske komponente
81
00:04:30,950 --> 00:04:34,070
jer su nam ili ti podaci potrebni direktno
82
00:04:34,070 --> 00:04:35,490
u komponenti aplikacije
83
00:04:35,490 --> 00:04:38,760
ili kako je to slučaj u našoj demo aplikaciji.
84
00:04:38,760 --> 00:04:40,600
I kako je to sasvim uobičajeno,
85
00:04:40,600 --> 00:04:44,310
jer tada želimo te podatke prenijeti dolje
86
00:04:44,310 --> 00:04:46,923
na drugu komponentu preko rekvizita.
87
00:04:47,860 --> 00:04:51,160
To smo radili na prošlom predavanju.
88
00:04:51,160 --> 00:04:53,550
I to je važan koncept.
89
00:04:53,550 --> 00:04:56,740
Čut ćete izraz Podizanje države
90
00:04:56,740 --> 00:04:58,730
poprilično dok ste radili
91
00:04:58,730 --> 00:05:01,340
sa React-om takođe kasnije tokom kursa.
92
00:05:01,340 --> 00:05:03,080
I kad god to čujete,
93
00:05:03,080 --> 00:05:07,060
radi se o premještanju podataka iz podređene komponente
94
00:05:07,060 --> 00:05:11,010
nekoj roditeljskoj komponenti da je koristi tamo
95
00:05:11,010 --> 00:05:15,063
ili da ga zatim proslijedite nekoj drugoj podređenoj komponenti.
96
00:05:16,020 --> 00:05:17,480
I kao sporedna napomena,
97
00:05:17,480 --> 00:05:21,290
ovo ne radi samo ako imate komponentu aplikacije
98
00:05:21,290 --> 00:05:25,230
koji stupa u interakciju s dvije direktne podređene komponente.
99
00:05:25,230 --> 00:05:27,870
Umjesto toga već u ovom primjeru,
100
00:05:27,870 --> 00:05:31,840
nova komponenta troškova zapravo nije komponenta
101
00:05:31,840 --> 00:05:35,350
koji generiše podatke koje propuštamo.
102
00:05:35,350 --> 00:05:38,230
Umjesto toga, to je komponenta ExpenseForm
103
00:05:38,230 --> 00:05:40,190
koji generiše te podatke.
104
00:05:40,190 --> 00:05:43,530
To je komponenta koja radi sa stanjem
105
00:05:43,530 --> 00:05:47,590
i koji dohvaća korisnički unos i pohranjuje korisnički unos.
106
00:05:47,590 --> 00:05:52,260
I ta komponenta zatim prosljeđuje te dohvaćene podatke
107
00:05:52,260 --> 00:05:54,660
na novu komponentu troškova.
108
00:05:54,660 --> 00:05:58,150
Dakle, ovdje već podižemo stanje
109
00:05:58,150 --> 00:06:00,900
a onda to još više podižemo
110
00:06:00,900 --> 00:06:03,860
komponenti aplikacije jer je to komponenta aplikacije
111
00:06:03,860 --> 00:06:06,840
koja je tada prva komponenta u redu
112
00:06:06,840 --> 00:06:09,800
koja nema pristup samo novom trošku
113
00:06:09,800 --> 00:06:12,130
i komponentu ExpenseForm, ali također
114
00:06:12,130 --> 00:06:14,330
na komponentu troškova.
115
00:06:14,330 --> 00:06:17,110
I pošto je komponenta troškova komponenta
116
00:06:17,110 --> 00:06:18,980
gdje nam na kraju trebaju podaci,
117
00:06:18,980 --> 00:06:23,980
to je komponenta aplikacije do koje želimo da podignemo svoje stanje.
118
00:06:24,300 --> 00:06:26,830
Sada, kao što ćete vidjeti tokom ovog kursa,
119
00:06:26,830 --> 00:06:30,310
nije uvijek ta komponenta root aplikacije
120
00:06:30,310 --> 00:06:32,790
do koje želite da podignete svoju državu.
121
00:06:32,790 --> 00:06:37,790
Umjesto toga, cilj je da se podigne onoliko visoko koliko je potrebno
122
00:06:37,800 --> 00:06:41,330
u vašem stablu komponenti dok ne budete imali komponentu
123
00:06:41,330 --> 00:06:44,200
koji ima oba pristupa komponentama
124
00:06:44,200 --> 00:06:47,730
koji generišu podatke kao i komponente
125
00:06:47,730 --> 00:06:49,640
kojima su potrebni podaci,
126
00:06:49,640 --> 00:06:51,590
to bi mogla biti komponenta aplikacije,
127
00:06:51,590 --> 00:06:54,120
ali to može biti i druga komponenta.
128
00:06:54,120 --> 00:06:57,220
Opet ćete ih viđati prilično često
129
00:06:57,220 --> 00:06:58,513
tokom ovog kursa.10145
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.