You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/content/learn/index.md
+19-19Lines changed: 19 additions & 19 deletions
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ title: Brzi Uvod
4
4
5
5
<Intro>
6
6
7
-
Dobrodošli u React dokumentaciju! Ova stranica pružiće vam uvod u 80% React koncepata koje ćete koristiti u svakodnevnom radu.
7
+
Dobro došli u React dokumentaciju! Ova stranica pružiće vam uvod u 80% React koncepata koje ćete koristiti u svakodnevnom radu.
8
8
9
9
</Intro>
10
10
@@ -21,7 +21,7 @@ Dobrodošli u React dokumentaciju! Ova stranica pružiće vam uvod u 80% React k
21
21
22
22
## Kreiranje i umetanje komponenti {/*components*/}
23
23
24
-
React app-ovi su sačinjeni od *komponenti*. Komponenta je deo UI-a (korisničkog interfejsa) koji ima svoju logiku i izgled. Komponenta može biti mala kao dugme, ili velika kao cela stranica.
24
+
React aplikacije su sačinjene od *komponenti*. Komponenta je deo UI-a (korisničkog interfejsa) koji ima svoju logiku i izgled. Komponenta može biti mala kao dugme ili velika kao cela stranica.
25
25
26
26
React komponente su JavaScript funkcije koje vraćaju markup:
27
27
@@ -75,7 +75,7 @@ export default function MyApp() {
75
75
76
76
Ključne reči `export default` određuju glavnu komponentu u fajlu. Ukoliko niste upoznati sa nekim delom JavaScript sintakse, [MDN](https://developer.mozilla.org/en-US/docs/web/javascript/reference/statements/export) i [javascript.info](https://javascript.info/import-export) imaju odlične reference.
77
77
78
-
## Pisanje markupa sa JSX {/*writing-markup-with-jsx*/}
78
+
## Pisanje markup-a sa JSX {/*writing-markup-with-jsx*/}
79
79
80
80
Sintaksa markup-a koju ste videli iznad se zove *JSX*. Ona nije obavezna, ali većina React projekata koristi JSX zbog njegove praktičnosti. Svi [alati koje preporučujemo za lokalni razvoj](/learn/installation) podržavaju JSX odmah po instalaciji.
81
81
@@ -181,7 +181,7 @@ U gore navedenom primeru, `style={{}}` nije posebna sintaksa, već običan `{}`
U React-u, nema posebne sintakse za pisanje kondicionih izraza. Umesto toga, koristićete iste tehnike kao kada pišete običan JavaScript kod. Na primer, možete koristiti [`if`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/if...else) izraz za kondicionalno uključivanje JSX-a:
184
+
U React-u nema posebne sintakse za pisanje kondicionih izraza. Umesto toga, koristićete iste tehnike kao kada pišete običan JavaScript kod. Na primer, možete koristiti [`if`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/if...else) izraz za kondicionalno uključivanje JSX-a:
185
185
186
186
```js
187
187
let content;
@@ -217,7 +217,7 @@ Kada vam nije potrebna `else` grana, možete koristiti i kraću [logičku `&&` s
217
217
</div>
218
218
```
219
219
220
-
Svi ovi pristupi takođe rade i za kondicionalno specificiranje atributa. Ako niste upoznati sa oovim delovima JavaScript sintakse, možete početi tako što ćete uvek koristiti `if...else`.
220
+
Svi ovi pristupi takođe rade i za kondicionalno specificiranje atributa. Ako niste upoznati sa ovim delovima JavaScript sintakse, možete početi tako što ćete uvek koristiti `if...else`.
221
221
222
222
## Renderovanje listi {/*rendering-lists*/}
223
223
@@ -280,7 +280,7 @@ export default function ShoppingList() {
280
280
281
281
## Odgovaranje na event-e {/*responding-to-events*/}
282
282
283
-
Možete odgovarati na event-e deklarisanjem *event handler-a* funkcija za obradu event-a unutar vaših komponenti:
283
+
Možete odgovarati na event-e deklarisanjem *event handler* funkcija za obradu event-a unutar vaših komponenti:
284
284
285
285
```js {2-4,7}
286
286
functionMyButton() {
@@ -296,11 +296,11 @@ function MyButton() {
296
296
}
297
297
```
298
298
299
-
Obratite pažnju na to kako `onClick={handleClick}` nema zagrade na kraju! Ne treba da *pozivate* event handler funkciju: smo je treba *proslediti*. React će pozvati vaš event handler kada korisnik klikne na dugme.
299
+
Obratite pažnju na to kako `onClick={handleClick}` nema zagrade na kraju! Ne treba da *pozivate* event handler funkciju: samo je treba *proslediti*. React će pozvati vaš event handler kada korisnik klikne na dugme.
300
300
301
301
## Ažuriranje ekrana {/*updating-the-screen*/}
302
302
303
-
Često ćete želite da vaša komponenta "zapamti" neke informacije i prikaže ih. Na primer, možda želite da prebrojite koliko puta je dugme kliknuto. To do this, add *stanje (state)* u svoju komponentu.
303
+
Često ćete želeti da vaša komponenta "zapamti" neke informacije i prikaže ih. Na primer, možda želite da prebrojite koliko puta je dugme kliknuto. Da biste to uradili, dodajte *stanje (state)* u svoju komponentu.
304
304
305
305
Prvo, uvezite [`useState`](/reference/react/useState) iz React-a:
306
306
@@ -316,7 +316,7 @@ function MyButton() {
316
316
// ...
317
317
```
318
318
319
-
Od`useState` dobićete dobiti dve stvari: trenutni state (`count`), i funkciju koja vam omogućava da ga ažurirate (`setCount`). Možete im dati bilo koja imena, ali je konvencija da pišete `[nešto, setNešto]`.
319
+
Od`useState` dobićete dve stvari: trenutni state (`count`), i funkciju koja vam omogućava da ga ažurirate (`setCount`). Možete im dati bilo koja imena, ali je konvencija da pišete `[nešto, setNešto]`.
320
320
321
321
Prvi put kada se dugme prikaže, `count` će biti `0` jer ste `0` prosledili u `useState()`. Kada želite da promenite state, pozovite `setCount()` i prosledite joj novu vrednost. Klikom na ovo dugme inkrementujte brojač:
322
322
@@ -381,15 +381,15 @@ button {
381
381
382
382
Primetite kako svako dugme "pamti" svoj sopstveni state brojača `count` i ne utiče na drugu dugmad.
383
383
384
-
## Korišćenje Hookova {/*using-hooks*/}
384
+
## Korišćenje Hook-ova {/*using-hooks*/}
385
385
386
-
Funkcije koje počinju sa `use` nazivaju se *Hookovi*. `useState` je ugrađeni Hook koji pruža React. Možete pronaći i druge ugrađene Hookove u [API referenci.](/reference/react) Takođe, možete pisati svoje sopstvene Hookove kombinovanjem postojećih.
386
+
Funkcije koje počinju sa `use` nazivaju se *Hook-ovi*. `useState` je ugrađeni Hook koji pruža React. Možete pronaći i druge ugrađene Hook-ove u [API referenci.](/reference/react) Takođe, možete pisati svoje sopstvene Hook-ove kombinovanjem postojećih.
387
387
388
-
Hookovi su restriktivniji od ostalih funkcija. Hookove možete pozivati samo na vrhu svojih komponenata (ili drugih Hookova). Ukoliko nameravate koristiti `useState` u nekom condition-u ili loop-u, izdvojite novu komponentu i stavite ga tamo.
388
+
Hook-ovi su restriktivniji od ostalih funkcija. Hook-ove možete pozivati samo na vrhu svojih komponenata (ili drugih Hook-ova). Ukoliko nameravate koristiti `useState` u nekom condition-u ili loop-u, izdvojite novu komponentu i stavite ga tamo.
389
389
390
390
## Prosleđivanje podataka među komponentama {/*sharing-data-between-components*/}
391
391
392
-
U prethodnom primeru, svaki `MyButton` je imao nezavisni `count`, i kada je svako pojedinačno dugme bilo pritisnuto,`count` se menjao samo za trenutno pritisnuto dugme:
392
+
U prethodnom primeru, svaki `MyButton` je imao nezavisni `count`, i kada je svako pojedinačno dugme bilo pritisnuto,`count` se menjao samo za trenutno pritisnuto dugme:
393
393
394
394
<DiagramGroup>
395
395
@@ -409,7 +409,7 @@ Prva `MyButton` komponenta ažurira svoj `count` na `1`
409
409
410
410
Međutim, često će vam biti potrebno da komponente *prosleđuju podatke međusobno i uvek se zajedno ažuriraju*.
411
411
412
-
Da biste obe `MyButton` komponente prikazali sa istim `count` i ažurirali zajedno, morate premestiti state iz pojedinačnih dugmeta "nagore" do najbliže komponente koja sadrži sve njih.
412
+
Da biste obe `MyButton` komponente prikazali sa istim `count` i ažurirali zajedno, morate premestiti state iz pojedinačnih dugmadi "nagore" do najbliže komponente koja sadrži sve njih.
413
413
414
414
U ovom primeru, to je `MyApp`:
415
415
@@ -431,7 +431,7 @@ Pri kliku, `MyApp` ažurira svoj `count` state na `1` i prosleđuje ga u obe chi
431
431
432
432
Sada, kada kliknete na bilo koje dugme, `count` u `MyApp` će se promeniti, što će promeniti oba brojača u `MyButton`. Evo kako to možete izraziti u kodu.
433
433
434
-
Prvo, *pdignite state nagore* from`MyButton` u `MyApp`:
434
+
Prvo, *podignite state nagore* iz`MyButton` u `MyApp`:
435
435
436
436
```js {2-6,18}
437
437
exportdefaultfunctionMyApp() {
@@ -451,12 +451,12 @@ export default function MyApp() {
451
451
}
452
452
453
453
functionMyButton() {
454
-
// ... premestamo kod odavde ...
454
+
// ... premeštamo kod odavde ...
455
455
}
456
456
457
457
```
458
458
459
-
Zatim, *prosleđujemo state nadole* iz `MyApp` u oba `MyButton`, zajedno sa zajedničkim handlerom za klik. Informacije možete proslediti u `MyButton` koristeći kovrdžaste zagrade u JSX-u, baš kao što ste to ranije radili sa ugrađenim tagovima poput `<img>`:
459
+
Zatim, *prosleđujemo state nadole* iz `MyApp` u oba `MyButton`, zajedno sa zajedničkim handler-om za klik. Informacije možete proslediti u `MyButton` koristeći kovrdžave zagrade u JSX-u, baš kao što ste to ranije radili sa ugrađenim tagovima poput `<img>`:
460
460
461
461
```js {11-12}
462
462
exportdefaultfunctionMyApp() {
@@ -476,7 +476,7 @@ export default function MyApp() {
476
476
}
477
477
```
478
478
479
-
Informacije koje na ovaj način prosleđujete nazivaju se *props*. Sada `MyApp` komponenta sadrži `count` state i `handleClick` event handler, i *prosleđuje obe nadole kao props* svakom od dugmeta.
479
+
Informacije koje na ovaj način prosleđujete nazivaju se *props*. Sada `MyApp` komponenta sadrži `count` state i `handleClick` event handler i *prosleđuje obe nadole kao props* svakom dugmetu.
480
480
481
481
Konačno, promenite `MyButton` da *čita* props koje ste prosledili iz njegove parent komponente:
482
482
@@ -490,7 +490,7 @@ function MyButton({ count, onClick }) {
490
490
}
491
491
```
492
492
493
-
Kada kliknete na dugme, `onClick` handler se aktivira.`onClick` prop svakog dugmeta postavljen je na funkciju `handleClick` unutar `MyApp` pa se kod unutar nje izvršava. Taj kod poziva `setCount(count +1)`, inkrementira`count` state varijablu. Nova `count` vrednost se prosleđuje kao prop svakom dugmetu, pa svi prikazuju novu vrednost. Ovo se naziva "podizanje state-a nagore". Pomeranjema state-a nagore, podelili ste ga između komponenata.
493
+
Kada kliknete na dugme, `onClick` handler se aktivira.`onClick` prop svakog dugmeta postavljen je na funkciju `handleClick` unutar `MyApp` pa se kod unutar nje izvršava. Taj kod poziva `setCount(count +1)`, inkrementirajući`count` state varijablu. Nova `count` vrednost se prosleđuje kao prop svakom dugmetu, pa svi prikazuju novu vrednost. Ovo se naziva "podizanje state-a nagore". Pomeranjem state-a nagore, podelili ste ga između komponenata.
0 commit comments