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/add-react-to-an-existing-project.md
+13-13
Original file line number
Diff line number
Diff line change
@@ -16,7 +16,7 @@ Ako želite da dodate neku interaktivnost na postojeći projekat, ne morate ga p
16
16
17
17
## Koristite React za ceo subroute vašeg postojećeg sajta {/*using-react-for-an-entire-subroute-of-your-existing-website*/}
18
18
19
-
Recimo da imate postojeći veb sajt na `example.com` napravljen sa nekom drugom tehnologijom (kao što je Rails), i želite da implementirate sve rute koje počinju sa `example.com/some-app/` u potpunosti sa React-om.
19
+
Recimo da imate postojeći veb sajt na `example.com` napravljen sa nekom drugom tehnologijom (kao što je Rails) i želite da implementirate sve rute koje počinju sa `example.com/some-app/` u potpunosti sa React-om.
20
20
21
21
Evo kako preporučujemo da to uradite:
22
22
@@ -30,11 +30,11 @@ Mnogi React-based framework-ovi su full-stack i omogućavaju vašoj React aplika
30
30
31
31
## Koristite React za deo vaše postojeće stranice {/*using-react-for-a-part-of-your-existing-page*/}
32
32
33
-
Recimo da imate postojeću stranicu napravljenu sa nekom drugom tehnologijom (ili na serveru kao Rails, ili na klijentu kao Backbone), i želite da renderujete interaktivne React komponente negde na toj stranici. To je uobičajen način da se integriše React - zapravo, to je kako je većina React koda izgledala na Meta-u mnogo godina!
33
+
Recimo da imate postojeću stranicu napravljenu sa nekom drugom tehnologijom (ili na serveru kao Rails, ili na klijentu kao Backbone), i želite da renderujete interaktivne React komponente negde na toj stranici. To je uobičajen način da se integriše React - zapravo, to je kako je većina React koda izgledala na Meta-i mnogo godina!
34
34
35
35
Ovo možete uraditi u dva koraka:
36
36
37
-
1.**Postavite JavaScript okruženje** koje vam omogućava da koristite [JSX sintaksu](/learn/writing-markup-with-jsx), podelite svoj kod u module sa [`import`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import) / [`export`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export) sintaksom, i koristite pakete (na primer, React) iz [npm](https://www.npmjs.com/) registra paketa.
37
+
1.**Postavite JavaScript okruženje** koje vam omogućava da koristite [JSX sintaksu](/learn/writing-markup-with-jsx), podelite svoj kod u module sa [`import`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import) / [`export`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export) sintaksom i koristite pakete (na primer, React) iz [npm](https://www.npmjs.com/) registra paketa.
38
38
2.**Renderujte vaše React komponente** gde želite da ih vidite na stranici.
39
39
40
40
Tačan pristup zavisi od vašeg postojećeg podešavanja stranice, pa hajde da prođemo kroz neke detalje.
@@ -43,11 +43,11 @@ Tačan pristup zavisi od vašeg postojećeg podešavanja stranice, pa hajde da p
43
43
44
44
Modularno JavaScript okruženje vam omogućava da pišete vaše React komponente u pojedinačnim fajlovima, umesto da pišete sav vaš kod u jednom fajlu. Takođe vam omogućava da koristite sve divne pakete koje su objavili drugi programeri na [npm](https://www.npmjs.com/) registru - uključujući i React! Kako ćete to uraditi zavisi od vašeg postojećeg podešavanja:
45
45
46
-
***Ako je vaša stranica već podeljena u fajlove koji koriste `import` naredbe,** pokušajte da koristite to podešavanje. Proverite da li pisanje `<div />` u vašem JS kodu izaziva sintaksnu grešku. Ako izaziva sintaksnu grešku, možda ćete morati da [transformišete vaš JS kod sa Babel-om](https://babeljs.io/setup), i omogućite [Babel React preset](https://babeljs.io/docs/babel-preset-react) da biste koristili JSX.
46
+
***Ako je vaša stranica već podeljena u fajlove koji koriste `import` naredbe,** pokušajte da koristite to podešavanje. Proverite da li pisanje `<div />` u vašem JS kodu izaziva sintaksnu grešku. Ako izaziva sintaksnu grešku, možda ćete morati da [transformišete vaš JS kod sa Babel-om](https://babeljs.io/setup) i omogućite [Babel React preset](https://babeljs.io/docs/babel-preset-react) da biste koristili JSX.
47
47
48
-
***Ako vaša stranica nema postojeće podešavanje za kompajliranje JavaScript modula,** postavite ga sa [Vite](https://vitejs.dev/). Vite zajednica održava [mnoge integracije sa backend framework-ovima](<https://github.com/vitejs/awesome-vite#integrations-with-backends>), ukjučujući Rails, Django, i Laravel. Ako vaš backend framework nije na listi, [pratite ovaj vodič](https://vitejs.dev/guide/backend-integration.html) da biste ručno integrisali Vite build-ove sa vašim backend-om.
48
+
***Ako vaša stranica nema postojeće podešavanje za kompajliranje JavaScript modula,** postavite ga sa [Vite-om](https://vitejs.dev/). Vite zajednica održava [mnoge integracije sa backend framework-ovima](<https://github.com/vitejs/awesome-vite#integrations-with-backends>), ukjučujući Rails, Django i Laravel. Ako vaš backend framework nije na listi, [pratite ovaj vodič](https://vitejs.dev/guide/backend-integration.html) da biste ručno integrisali Vite build-ove sa vašim backend-om.
49
49
50
-
Da proverite da li vaše podešavanje radi, pokrenite ovu komandu u vašem projekt folderu:
50
+
Da proverite da li vaše podešavanje radi, pokrenite ovu komandu u folderu vašeg projekta:
51
51
52
52
<TerminalBlock>
53
53
npm install react react-dom
@@ -70,10 +70,10 @@ Onda dodajte ove linije koda na vrh vašeg glavnog JavaScript fajla (možda se z
@@ -112,9 +112,9 @@ Umesto toga, verovatno želite da renderujete vaše React komponente na specifi
112
112
113
113
```html
114
114
115
-
<!-- ... somewhere in your html ... -->
115
+
<!-- ... negde u vašem HTML-u ... -->
116
116
<navid="navigation"></nav>
117
-
<!-- ... more html ... -->
117
+
<!-- ... ostatak HTML-a ... -->
118
118
```
119
119
120
120
Ovo vam omogućava da pronađete taj HTML element sa [`document.getElementById`](https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementById) i prosledite ga [`createRoot`](/reference/react-dom/client/createRoot) tako da možete da renderujete vašu React komponentu unutra:
@@ -137,7 +137,7 @@ Ovo vam omogućava da pronađete taj HTML element sa [`document.getElementById`]
React je JavaScript biblioteka za prikazivanje korisničkog interfejsa (UI). UI se sastoji od malih jedinica kao što su dugmad, tekst i slike. React vam omogućava da ih kombinujete u ponovljive, nested (ugnježdene) *komponente.* Od veb sajtova do telefonskih aplikacija, sve na ekranu može se razbiti na komponente. U ovoj glavi naučićete kako da kreirate, prilagodite i uslovno prikažete React komponente.
7
+
React je JavaScript biblioteka za prikazivanje korisničkog interfejsa (UI). UI se sastoji od malih jedinica kao što su dugmad, tekst i slike. React vam omogućava da ih kombinujete u ponovljive, nested (ugnježdene) *komponente.* Od veb sajtova do telefonskih aplikacija, sve na ekranu može se razbiti na komponente. U ovom poglavlju naučićete kako da kreirate, prilagodite i uslovno prikažete React komponente.
8
8
9
9
</Intro>
10
10
@@ -24,7 +24,7 @@ React je JavaScript biblioteka za prikazivanje korisničkog interfejsa (UI). UI
24
24
25
25
## Vaša prva komponenta {/*your-first-component*/}
26
26
27
-
React aplikacije su izgrađene of izoliranih delova korisničkog interfejsa (UI) koje se zovu *komponente*. React komponenta je Javascript funkcija koju možete začiniti markup-om. Komponente mogu biti male kao dugme ili velike kao cela stranica. Ovde je `Gallery` komponenta koja prikazuje tri `Profile` komponente:
27
+
React aplikacije su izgrađene od izolovanih delova korisničkog interfejsa (UI) koje se zovu *komponente*. React komponenta je JavaScript funkcija koju možete začiniti markup-om. Komponente mogu biti male kao dugme ili velike kao cela stranica. Ovde je `Gallery` komponenta koja prikazuje tri `Profile` komponente:
28
28
29
29
<Sandpack>
30
30
@@ -62,9 +62,9 @@ Pročitajte **[Vaša prva komponenta](/learn/your-first-component)** da biste na
62
62
63
63
</LearnMore>
64
64
65
-
## Importovanje i exportovanje komponenti {/*importing-and-exporting-components*/}
65
+
## Import-ovanje i export-ovanje komponenti {/*importing-and-exporting-components*/}
66
66
67
-
Možete deklarisati mnogo komponenti u jednom fajlu, ali veliki fajlovi mogu postati teški za navigaciju. Da biste to rešili, možete *exportovati* komponentu u svoj fajl, a zatim *importovati* tu komponentu iz drugog fajla:
67
+
Možete deklarisati mnogo komponenti u jednom fajlu, ali veliki fajlovi mogu postati teški za navigaciju. Da biste to rešili, možete *export-ovati* komponentu u svoj fajl, a zatim *import-ovati* tu komponentu iz drugog fajla:
Pročitajte **[Importovanje i exportovanje komponenti](/learn/importing-and-exporting-components)** da biste naučili kako da podelite komponente u svoje fajlove.
116
+
Pročitajte **[Import-ovanje i export-ovanje komponenti](/learn/importing-and-exporting-components)** da biste naučili kako da podelite komponente u svoje fajlove.
117
117
118
118
</LearnMore>
119
119
120
120
## Pisanje markup-a sa JSX {/*writing-markup-with-jsx*/}
121
121
122
-
Svaka React komponenta je JavaScript funkcija koja može sadržati neki markup koji React prikazuje u browser-u. React komponente koriste sintaksu proširenja zvanu JSX da predstave taj markup. JSX izgleda mnogo kao HTML, ali je malo stroži i može prikazati dinamičke informacije.
122
+
Svaka React komponenta je JavaScript funkcija koja može sadržati neki markup koji React prikazuje u browser-u. React komponente koriste sintaksu proširenja zvanu JSX da predstave taj markup. JSX dosta liči na HTML, ali je malo strožiji i može prikazati dinamičke informacije.
123
123
124
124
Ako kopirate postojeći HTML markup u React komponentu, neće uvek raditi:
125
125
@@ -128,8 +128,8 @@ Ako kopirate postojeći HTML markup u React komponentu, neće uvek raditi:
128
128
```js
129
129
exportdefaultfunctionTodoList() {
130
130
return (
131
-
//This doesn't quite work!
132
-
<h1>Hedy Lamarr's Todo lista</h1>
131
+
//Ovo baš i ne radi!
132
+
<h1>Hedy Lamarr-ina Todo lista</h1>
133
133
<img
134
134
src="https://i.imgur.com/yXOvdOSs.jpg"
135
135
alt="Hedy Lamarr"
@@ -158,7 +158,7 @@ Ako imate postojeći HTML kao što je ovaj, možete ga popraviti pomoću [konver
158
158
exportdefaultfunctionTodoList() {
159
159
return (
160
160
<>
161
-
<h1>Hedy Lamarr's Todos</h1>
161
+
<h1>Hedy Lamarr-ina Todo lista</h1>
162
162
<img
163
163
src="https://i.imgur.com/yXOvdOSs.jpg"
164
164
alt="Hedy Lamarr"
@@ -188,7 +188,7 @@ Pročitajte **[Pisanje markup-a sa JSX](/learn/writing-markup-with-jsx)** da bis
188
188
189
189
## JavaScript u JSX-u sa vitičastim zagradama {/*javascript-in-jsx-with-curly-braces*/}
190
190
191
-
JSX vam dozvoljava da pišete HTML sličan markup unutar JavaScript fajla, čuvajući logiku prikazivanja i sadržaja na istom mestu. Ponekad ćete želeti da dodate malo JavaScript logike ili da referencirate dinamičko svojstvo unutar tog markup-a. U ovoj situaciji možete koristiti vitičaste zagrade u vašem JSX-u da "otvorite prozor" ka JavaScript-u:
191
+
JSX vam dozvoljava da pišete markup sličan HTML-u unutar JavaScript fajla, čuvajući logiku prikazivanja i sadržaja na istom mestu. Ponekad ćete želeti da dodate malo JavaScript logike ili da referencirate dinamičko svojstvo unutar tog markup-a. U ovoj situaciji možete koristiti vitičaste zagrade u vašem JSX-u da "otvorite prozor" ka JavaScript-u:
192
192
193
193
<Sandpack>
194
194
@@ -211,9 +211,9 @@ export default function TodoList() {
211
211
alt="Gregorio Y. Zara"
212
212
/>
213
213
<ul>
214
-
<li>Unapredi the videophone</li>
215
-
<li>Pripremi predavanja iz aeronautike</li>
216
-
<li>Radi na motoru koji radi na alkohol</li>
214
+
<li>Unaprediti video-telefon</li>
215
+
<li>Pripremiti predavanja iz aeronautike</li>
216
+
<li>Raditi na motoru na alkohol</li>
217
217
</ul>
218
218
</div>
219
219
);
@@ -236,7 +236,7 @@ Pročitajte **[JavaScript u JSX-u sa vitičastim zagradama](/learn/javascript-in
React komponente koriste *props* da bi komunicirale jedna sa drugom. Svaki roditeljski(parent) komponent može proslediti neke informacije svojoj deci(children) pomoću props-a. Props vam mogu podsetiti na HTML atribute, ali možete proslediti bilo koju JavaScript vrednost kroz njih, uključujući objekte, nizove, funkcije i čak JSX!
239
+
React komponente koriste *props* da bi komunicirale jedna sa drugom. Svaka roditeljska (parent) komponenta može proslediti neke informacije svojoj deci(children) komponentama pomoću props-a. Props vas mogu podsetiti na HTML atribute, ali možete proslediti bilo koju JavaScript vrednost kroz njih, uključujući objekte, nizove, funkcije, čak i JSX!
240
240
241
241
<Sandpack>
242
242
@@ -347,7 +347,7 @@ export default function PackingList() {
347
347
/>
348
348
<Item
349
349
isPacked={false}
350
-
name="Foto od Tam"
350
+
name="Fotografija od Tam"
351
351
/>
352
352
</ul>
353
353
</section>
@@ -391,7 +391,7 @@ export default function List() {
391
391
);
392
392
return (
393
393
<article>
394
-
<h1>Scientists</h1>
394
+
<h1>Naučnici</h1>
395
395
<ul>{listItems}</ul>
396
396
</article>
397
397
);
@@ -402,31 +402,31 @@ export default function List() {
402
402
exportconstpeople= [{
403
403
id:0,
404
404
name:'Creola Katherine Johnson',
405
-
profession:'mathematician',
405
+
profession:'matematičarka',
406
406
accomplishment:'formula za svemirske letove',
407
407
imageId:'MK3eW3A'
408
408
}, {
409
409
id:1,
410
410
name:'Mario José Molina-Pasquel Henríquez',
411
-
profession:'chemist',
411
+
profession:'hemičar',
412
412
accomplishment:'otkriće Arktičke rupe u ozonu',
413
413
imageId:'mynHUSa'
414
414
}, {
415
415
id:2,
416
416
name:'Mohammad Abdus Salam',
417
-
profession:'physicist',
417
+
profession:'fizičar',
418
418
accomplishment:'teorija o elektromagnetizmu',
419
419
imageId:'bE7W1ji'
420
420
}, {
421
421
id:3,
422
422
name:'Percy Lavon Julian',
423
-
profession:'chemist',
424
-
accomplishment:'pionirski kortizon, steroide i pilule za kontrolu rađanja',
423
+
profession:'hemičar',
424
+
accomplishment:'pionirski kortizon, steroidi i pilule za kontrolu rađanja',
425
425
imageId:'IOjWm71'
426
426
}, {
427
427
id:4,
428
428
name:'Subrahmanyan Chandrasekhar',
429
-
profession:'astrophysicist',
429
+
profession:'astrofizičar',
430
430
accomplishment:'računanje mase belog patuljka',
431
431
imageId:'lrWQx8l'
432
432
}];
@@ -468,7 +468,7 @@ Pročitajte **[Renderovanje liste](/learn/rendering-lists)** da biste naučili k
468
468
Neke JavaScript funkcije su *čiste.* Čista funkcija:
469
469
470
470
***Gleda svoj posao.** Ne zavisi od bilo kakvih globalnih promenljivih ili stanja aplikacije.
471
-
***Isti input, isti output.**Dajući isti input, čista funkcija uvek treba da vrati isti rezultat.
471
+
***Isti input, isti output.**Dobijajući isti input, čista funkcija uvek treba da vrati isti rezultat.
472
472
473
473
Striktno pisanje vaših komponenti kao čistih funkcija može da izbegne čitavu klasu zbunjujućih grešaka i nepredvidivog ponašanja kako vaša baza koda raste. Ovde je primer nečiste komponente:
474
474
@@ -479,7 +479,7 @@ Striktno pisanje vaših komponenti kao čistih funkcija može da izbegne čitavu
479
479
let guest =0;
480
480
481
481
functionCup() {
482
-
//Bad: changing a preexisting variable!
482
+
//Loše: promena postojeće promenljive!
483
483
guest = guest +1;
484
484
return<h2>Šolja čaja za gosta #{guest}</h2>;
485
485
}
@@ -497,7 +497,7 @@ export default function TeaSet() {
497
497
498
498
</Sandpack>
499
499
500
-
Možete napraviti ovu komponentu čistom tako što ćete proslediti prop umesto što ćete modifikovati prethodno postojeću promenljivu:
500
+
Možete napraviti ovu komponentu čistom tako što ćete proslediti prop umesto što ćete modifikovati postojeću promenljivu:
501
501
502
502
<Sandpack>
503
503
@@ -548,7 +548,7 @@ Primer modul zavisnosti stabla.
548
548
549
549
</Diagram>
550
550
551
-
Drvo zavisnosti čest ose korišćeno od strane alata za izgradnju da bi se sve relevantne JavaScript datoteke za klijenta spakovalo u jednu datoteku. Velika veličina paketa regresira korisničko iskustvo za React aplikacije. Razumevanje modul zavisnosti stabla je korisno za otklanjanje grešaka.
551
+
Drvo zavisnosti često je korišćeno od strane alata za izgradnju da bi se sve JavaScript datoteke relevantne za klijenta spakovale u jednu datoteku. Velika veličina paketa regresira korisničko iskustvo za React aplikacije. Razumevanje modul zavisnosti stabla je korisno za otklanjanje grešaka.
Copy file name to clipboardexpand all lines: src/content/learn/editor-setup.md
+3-3
Original file line number
Diff line number
Diff line change
@@ -31,12 +31,12 @@ Neki editori dolaze sa ugrađenim funkcijama, dok drugi zahtevaju dodavanje ekst
31
31
32
32
### Linting {/*linting*/}
33
33
34
-
Linting alati pronalaze probleme u vašem kodu dok ga pišete, pomažući vam da ih ispravite na vreme. [ESLint](https://eslint.org/) je popularan, open source linter za JavaScript.
34
+
Linting alati pronalaze probleme u vašem kodu dok ga pišete, pomažući vam da ih ispravite na vreme. [ESLint](https://eslint.org/) je popularan open source linter za JavaScript.
35
35
36
36
*[Instalirajte ESLint sa preporučenom konfiguracijom za React](https://www.npmjs.com/package/eslint-config-react-app) (budite sigurni da imate [Node instaliran!](https://nodejs.org/en/download/current/))
37
37
*[Integrišite ESLint u VSCode sa zvaničnom ekstenzijom](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint)
38
38
39
-
**Budite sigurni da ste omogućili sve[`eslint-plugin-react-hooks`](https://www.npmjs.com/package/eslint-plugin-react-hooks) pravila za vaš projekat.** Oni su esencijalni i hvataju najozbiljnije greške na vreme. Preporučena [`eslint-config-react-app`](https://www.npmjs.com/package/eslint-config-react-app) konfiguracija već ih uključuje.
39
+
**Budite sigurni da ste omogućili sva[`eslint-plugin-react-hooks`](https://www.npmjs.com/package/eslint-plugin-react-hooks) pravila za vaš projekat.** Oni su esencijalni i hvataju najozbiljnije greške na vreme. Preporučena [`eslint-config-react-app`](https://www.npmjs.com/package/eslint-config-react-app) konfiguracija već ih uključuje.
40
40
41
41
### Formatiranje {/*formatting*/}
42
42
@@ -59,4 +59,4 @@ Idealno, trebalo bi da formatirate vaš kod pri svakom čuvanju. VS Code ima pod
59
59
4. U pretraživaču, ukucajte "format on save"
60
60
5. Budite sigurni da je "format on save" opcija označena!
61
61
62
-
> Ako vaš ESLint preset ima pravila za formatiranje, ona mogu biti u konfliktu sa Prettier-om. Preporučujemo da onemogućite sva pravila za formatiranje u vašem ESLint presetu koristeći [`eslint-config-prettier`](https://github.com/prettier/eslint-config-prettier) tako da ESLint bude *samo* korišćen za hvatanje logičkih grešaka. Ako želite da primoravate da se fajlovi formatiraju pre nego što se spoje u glavnu granu, koristite [`prettier --check`](https://prettier.io/docs/en/cli.html#--check) za vašu kontinuiranu integraciju.
62
+
> Ako vaš ESLint preset ima pravila za formatiranje, ona mogu biti u konfliktu sa Prettier-om. Preporučujemo da onemogućite sva pravila za formatiranje u vašem ESLint preset-u koristeći [`eslint-config-prettier`](https://github.com/prettier/eslint-config-prettier) tako da ESLint bude *samo* korišćen za hvatanje logičkih grešaka. Ako želite da primoravate da se fajlovi formatiraju pre nego što se spoje u glavnu granu, koristite [`prettier --check`](https://prettier.io/docs/en/cli.html#--check) za vašu kontinuiranu integraciju.
0 commit comments