Skip to content

Commit 02a1699

Browse files
Merge pull request #21 from gergely-nagy/introducing-jsx
Introducing JSX translation
2 parents 5bc3c17 + 0f23d5a commit 02a1699

File tree

1 file changed

+51
-51
lines changed

1 file changed

+51
-51
lines changed

content/docs/introducing-jsx.md

+51-51
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,50 @@
11
---
22
id: introducing-jsx
3-
title: Introducing JSX
3+
title: JSX bemutatása
44
permalink: docs/introducing-jsx.html
55
prev: hello-world.html
66
next: rendering-elements.html
77
---
88

9-
Consider this variable declaration:
9+
Vizsgáljuk meg a következő változó deklarálást:
1010

1111
```js
12-
const element = <h1>Hello, world!</h1>;
12+
const element = <h1>Helló, világ!</h1>;
1313
```
1414

15-
This funny tag syntax is neither a string nor HTML.
15+
Ez a furcsa szintaxis se nem szöveg se nem HTML.
1616

17-
It is called JSX, and it is a syntax extension to JavaScript. We recommend using it with React to describe what the UI should look like. JSX may remind you of a template language, but it comes with the full power of JavaScript.
17+
JSX-nek hívják, ami egy szintaxis kiterjesztés a JavaScript nyelvhez. Ajánlani tudjuk a React-el való használatát a felhasználói felület kinézetének leírásához. A JSX egy sablonnyelvre emlékeztethet, de a JavaScript teljes erejével bír.
1818

19-
JSX produces React "elements". We will explore rendering them to the DOM in the [next section](/docs/rendering-elements.html). Below, you can find the basics of JSX necessary to get you started.
19+
A JSX React "elemeket" állít elő. A DOM-ba való renderelésüket a [következő szekcióban](/docs/rendering-elements.html) fogjuk megvizsgálni. Lent megtalálod a JSX alapjait, amelyek az elinduláshoz szükségesek.
2020

21-
### Why JSX? {#why-jsx}
21+
### Miért a JSX? {#why-jsx}
2222

23-
React embraces the fact that rendering logic is inherently coupled with other UI logic: how events are handled, how the state changes over time, and how the data is prepared for display.
23+
A React azt az elvet vallja, hogy a megjelenítési logika eleve összekapcsolódik a többi felhasználói felületi logikával: az események kezelésével, állapotok időbeni változásával, és hogy az adat hogyan van előkészítve annak megjelenítéséhez.
2424

25-
Instead of artificially separating *technologies* by putting markup and logic in separate files, React [separates *concerns*](https://en.wikipedia.org/wiki/Separation_of_concerns) with loosely coupled units called "components" that contain both. We will come back to components in a [further section](/docs/components-and-props.html), but if you're not yet comfortable putting markup in JS, [this talk](https://www.youtube.com/watch?v=x7cQ3mrcKaY) might convince you otherwise.
25+
Ahelyett, hogy a *technológiákat* mesterségesen elválasztaná azzal, hogy a jelölést és a logikát külön fájlokba helyezi, a React szempontok szerint szeparál lazán összekapcsolt „komponenseknek” nevezett egységekkel, amelyek mindkettőt tartalmazzák. Vissza fogunk térni a komponensekhez egy [későbbi szekcióban](/docs/components-and-props.html), ha még nem vagy otthon a jelölés JS-ben való használatával, [ez a beszélgetés](https://www.youtube.com/watch?v=x7cQ3mrcKaY) meggyőzhet téged.
2626

27-
React [doesn't require](/docs/react-without-jsx.html) using JSX, but most people find it helpful as a visual aid when working with UI inside the JavaScript code. It also allows React to show more useful error and warning messages.
27+
A React [nem követeli meg](/docs/react-without-jsx.html) a JSX használatát, de a legtöbb ember hasznosnak találja mint vizuális segédeszköz ha felhasználói felülettel dolgozik JavaScript kódban. Ezenkívül azt is lehetővé teszi, hogy a React hasznosabb hiba- és figyelmeztető üzeneteket jelenítsen meg.
2828

29-
With that out of the way, let's get started!
29+
Ezeket tisztázva, kezdjünk is bele!
3030

31-
### Embedding Expressions in JSX {#embedding-expressions-in-jsx}
31+
### Beágyazott kifejezések JSX-ben {#embedding-expressions-in-jsx}
3232

33-
In the example below, we declare a variable called `name` and then use it inside JSX by wrapping it in curly braces:
33+
A következő példában egy `name` változót deklarálunk, majd a JSX-ben használjuk úgy, hogy kapcsos zárójelbe tesszük:
3434

3535
```js{1,2}
3636
const name = 'Josh Perez';
37-
const element = <h1>Hello, {name}</h1>;
37+
const element = <h1>Helló, {name}</h1>;
3838
3939
ReactDOM.render(
4040
element,
4141
document.getElementById('root')
4242
);
4343
```
4444

45-
You can put any valid [JavaScript expression](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Expressions_and_Operators#Expressions) inside the curly braces in JSX. For example, `2 + 2`, `user.firstName`, or `formatName(user)` are all valid JavaScript expressions.
45+
A JSX-be bármilyen érvényes [JavaScript kifejezést](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Expressions_and_Operators#Expressions) beilleszthetsz kapcsos zárójelek közé. Például a `2 + 2`, `user.firstName`, vagy a `formatName(user)` mind érvényes JavaScript kifejezések.
4646

47-
In the example below, we embed the result of calling a JavaScript function, `formatName(user)`, into an `<h1>` element.
47+
Az alábbi példában a `formatName (user)` JavaScript függvény meghívásának eredményét ágyazzuk be a `<h1>` elembe.
4848

4949
```js{12}
5050
function formatName(user) {
@@ -58,7 +58,7 @@ const user = {
5858
5959
const element = (
6060
<h1>
61-
Hello, {formatName(user)}!
61+
Helló, {formatName(user)}!
6262
</h1>
6363
);
6464
@@ -70,86 +70,86 @@ ReactDOM.render(
7070

7171
[](codepen://introducing-jsx)
7272

73-
We split JSX over multiple lines for readability. While it isn't required, when doing this, we also recommend wrapping it in parentheses to avoid the pitfalls of [automatic semicolon insertion](https://stackoverflow.com/q/2846283).
73+
A JSX-et több sorra bontottuk az olvashatóság érdekében. Bár ez nem kötelező, de ha így csinálod akkor azt javasoljuk, hogy tedd zárójelek közé, hogy elkerüld az [automatikus pontosvessző beillesztésének](https://stackoverflow.com/q/2846283) buktatóit.
7474

75-
### JSX is an Expression Too {#jsx-is-an-expression-too}
75+
### A JSX egy kifejezés is {#jsx-is-an-expression-too}
7676

77-
After compilation, JSX expressions become regular JavaScript function calls and evaluate to JavaScript objects.
77+
A fordítás után a JSX kifejezések normál JavaScript hívásokká válnak, és JavaScript objektumokra értékelődnek ki.
7878

79-
This means that you can use JSX inside of `if` statements and `for` loops, assign it to variables, accept it as arguments, and return it from functions:
79+
Ez azt jelenti, hogy a JSX-et használhatod `if` utasításokban és `for` ciklusokban, hozzárendelheted változókhoz, és paraméterként vagy visszatérési értékként is használhatod egy függvény esetében:
8080

8181
```js{3,5}
8282
function getGreeting(user) {
8383
if (user) {
84-
return <h1>Hello, {formatName(user)}!</h1>;
84+
return <h1>Helló, {formatName(user)}!</h1>;
8585
}
86-
return <h1>Hello, Stranger.</h1>;
86+
return <h1>Helló, idegen.</h1>;
8787
}
8888
```
8989

90-
### Specifying Attributes with JSX {#specifying-attributes-with-jsx}
90+
### Attribútumok meghatározása a JSX segítségével {#specifying-attributes-with-jsx}
9191

92-
You may use quotes to specify string literals as attributes:
92+
Idézőjelek segítségével megadhatsz karakterláncokat attribútumként:
9393

9494
```js
9595
const element = <div tabIndex="0"></div>;
9696
```
9797

98-
You may also use curly braces to embed a JavaScript expression in an attribute:
98+
Kapcsos zárójelekkel beágyazhatsz JavaScript kifejezést egy attribútumba:
9999

100100
```js
101101
const element = <img src={user.avatarUrl}></img>;
102102
```
103103

104-
Don't put quotes around curly braces when embedding a JavaScript expression in an attribute. You should either use quotes (for string values) or curly braces (for expressions), but not both in the same attribute.
104+
Ne használj idézőjeleket kapcsos zárójelek körül, mikor JavaScript kifejezést ágyazol be egy attribútumba. Használhatsz idézőjeleket (karakterláncokhoz) vagy kapcsos zárójelet (kifejezésekhez), de mindkettőt egy attribútumon belül ne.
105105

106-
>**Warning:**
106+
>**Figyelem:**
107107
>
108-
>Since JSX is closer to JavaScript than to HTML, React DOM uses `camelCase` property naming convention instead of HTML attribute names.
108+
>Mivel a JSX közelebb áll a JavaScripthez, mint a HTML-hez, a REACT DOM a `camelCase` elnevezési stílust használja a HTML attribútumnevek helyett.
109109
>
110-
>For example, `class` becomes [`className`](https://developer.mozilla.org/en-US/docs/Web/API/Element/className) in JSX, and `tabindex` becomes [`tabIndex`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/tabIndex).
110+
>Például a `class` JSX-ben [`className`](https://developer.mozilla.org/en-US/docs/Web/API/Element/className)-re változik, a `tabindex`-et pedig [`tabIndex`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/tabIndex)-ként tudjuk használni.
111111
112-
### Specifying Children with JSX {#specifying-children-with-jsx}
112+
### Gyermekek megadása JSX-ben {#specifying-children-with-jsx}
113113

114-
If a tag is empty, you may close it immediately with `/>`, like XML:
114+
Ha egy címke üres, akkor azonnal lezárhatod egy `/>` (önlezáró) taggel, mint ahogy XML-ben is:
115115

116116
```js
117117
const element = <img src={user.avatarUrl} />;
118118
```
119119

120-
JSX tags may contain children:
120+
A JSX-címkék gyermekeket is tartalmazhatnak:
121121

122122
```js
123123
const element = (
124124
<div>
125-
<h1>Hello!</h1>
126-
<h2>Good to see you here.</h2>
125+
<h1>Helló!</h1>
126+
<h2>Jó itt látni.</h2>
127127
</div>
128128
);
129129
```
130130

131-
### JSX Prevents Injection Attacks {#jsx-prevents-injection-attacks}
131+
### A JSX megakadályozza az injekciós támadásokat {#jsx-prevents-injection-attacks}
132132

133-
It is safe to embed user input in JSX:
133+
A felhasználói bevitel beágyazása a JSX-be biztonságos:
134134

135135
```js
136136
const title = response.potentiallyMaliciousInput;
137-
// This is safe:
137+
// Ez biztonságos:
138138
const element = <h1>{title}</h1>;
139139
```
140140

141-
By default, React DOM [escapes](https://stackoverflow.com/questions/7381974/which-characters-need-to-be-escaped-on-html) any values embedded in JSX before rendering them. Thus it ensures that you can never inject anything that's not explicitly written in your application. Everything is converted to a string before being rendered. This helps prevent [XSS (cross-site-scripting)](https://en.wikipedia.org/wiki/Cross-site_scripting) attacks.
141+
Alapértelmezés szerint a React DOM [szanitálja](https://stackoverflow.com/questions/7381974/which-characters-need-to-be-escaped-on-html) az összes JSX-be beágyazott értéket, mielőtt azokat megjelenítené. Így biztosítja azt, hogy soha nem tudsz bármi olyat injektálni, amit kifejezetten nem a te alkalmazásodban írtak. Minden átalakul karakterlánccá, mielőtt megjelenítésre kerül. Ez segít megelőzni az [XSS (cross-site-scripting)](https://en.wikipedia.org/wiki/Cross-site_scripting) típusú támadásokat.
142142

143-
### JSX Represents Objects {#jsx-represents-objects}
143+
### A JSX objektumokat reprezentál {#jsx-represents-objects}
144144

145-
Babel compiles JSX down to `React.createElement()` calls.
145+
A Babel a JSX-et `React.createElement()` hívásokra fordítja le.
146146

147-
These two examples are identical:
147+
Ez a két példa megegyezik:
148148

149149
```js
150150
const element = (
151151
<h1 className="greeting">
152-
Hello, world!
152+
Helló, világ!
153153
</h1>
154154
);
155155
```
@@ -158,27 +158,27 @@ const element = (
158158
const element = React.createElement(
159159
'h1',
160160
{className: 'greeting'},
161-
'Hello, world!'
161+
'Helló, világ!'
162162
);
163163
```
164164

165-
`React.createElement()` performs a few checks to help you write bug-free code but essentially it creates an object like this:
165+
A `React.createElement()` végrehajt pár ellenőrzést a hibamentes kód megírásának érdekében, de alapvetően ehhez hasonló objektumokat hoz létre:
166166

167167
```js
168-
// Note: this structure is simplified
168+
// Megjegyzés: ez a szerkezet egyszerűsített
169169
const element = {
170170
type: 'h1',
171171
props: {
172172
className: 'greeting',
173-
children: 'Hello, world!'
173+
children: 'Helló, világ!'
174174
}
175175
};
176176
```
177177

178-
These objects are called "React elements". You can think of them as descriptions of what you want to see on the screen. React reads these objects and uses them to construct the DOM and keep it up to date.
178+
Ezeket az objektumokat "React elemeknek" nevezzük. Gondolhatunk rájuk úgy, mint annak a leírása amit a képernyőn látni szeretnénk. A React olvassa ezeket az objektumokat és arra használja, hogy a DOM-ot felépítse és naprakészen tartsa.
179179

180-
We will explore rendering React elements to the DOM in the next section.
180+
A következő szekcióban megvizsgáljuk a React elemek DOM-ba való renderelését.
181181

182-
>**Tip:**
182+
>**Tipp:**
183183
>
184-
>We recommend using the ["Babel" language definition](https://babeljs.io/docs/editors) for your editor of choice so that both ES6 and JSX code is properly highlighted. This website uses the [Oceanic Next](https://labs.voronianski.com/oceanic-next-color-scheme/) color scheme which is compatible with it.
184+
>Javasoljuk, hogy általad használt kódszerkesztőben használd a ["Babel" nyelvdefiníciót](https://babeljs.io/docs/editors), így az ES6 és JSX kódrészek is helyesen lesznek kiemelve. Ez a weboldal a [Oceanic Next](https://labs.voronianski.com/oceanic-next-color-scheme/) színsémát használja, ami ezzel kompatibilis.

0 commit comments

Comments
 (0)