Skip to content

Commit cbedd22

Browse files
Apply suggestions from code review
Co-Authored-By: Balázs Orbán <[email protected]>
1 parent 620aa20 commit cbedd22

File tree

1 file changed

+13
-14
lines changed

1 file changed

+13
-14
lines changed

content/docs/forms.md

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ redirect_from:
99
- "docs/forms-zh-CN.html"
1010
---
1111

12-
A HTML űrlap elemek kissé máshogy működnek a többi React DOM elemhez képest, mert az űrlap elemek alapvetően egy saját belső állapotot tartanak nyilván. Például ez az űrlap szimpla HTML-ben egy nevet fogad be:
12+
A HTML űrlap elemek kissé máshogy működnek a többi DOM elemhez képest Reactben, mert az űrlap elemek alapvetően egy saját belső állapotot tartanak nyilván. Például ez az űrlap szimpla HTML-ben egy nevet fogad be:
1313

1414
```html
1515
<form>
@@ -21,15 +21,15 @@ A HTML űrlap elemek kissé máshogy működnek a többi React DOM elemhez képe
2121
</form>
2222
```
2323

24-
Amikor a felhasználó beküldi ezt az űrlapot, a HTML alapviselkedése miatt ez egy új oldalra fog navigálni. Ha ezt a viselkedést szeretnéd elérni Reactben, eleve működni fog. De a legtöbb esetben érdemesebb egy JavaScript függvényben lekezelni az űrlap beküldését, aminek hozzáférése van a felhasználó által bevitt adatokhoz. A szokásos módszer ennek eléréséhez az úgynevezett "kontrollált komponens" módszer.
24+
Amikor a felhasználó beküldi ezt az űrlapot, a HTML alapviselkedése miatt ez egy új oldalra fog navigálni. Ha ezt a viselkedést szeretnéd elérni Reactben, eleve működni fog. De a legtöbb esetben érdemesebb egy JavaScript függvényben lekezelni az űrlap beküldését, aminek hozzáférése van a felhasználó által bevitt adatokhoz. Ennek elérése általában az úgynevezett "kontrollált komponensek" módszerével lehetséges.
2525

2626
## Kontrollált komponensek {#controlled-components}
2727

2828
A HTML űrlap elemek, mint az `<input>`, `<textarea>` és `<select>`, általában fenntartják a saját belső állapotukat, amit felhasználói bevitel alapján változtatnak. A Reactben a módosítható állapotot általában a komponens állapotában tároljuk, és csak a [`setState()`](/docs/react-component.html#setstate) meghívásával változik.
2929

30-
Ezt a kettőt összekombinálhatjuk a React komponens állapotban, mint az "egyedüli igazságforrás"-ban. Így a React komponens, ami az űrlapot rendereli, azt is kontrollálja, hogy mi történik az űrlapban a felhasználói bevitel hatására. Egy beviteli elem, aminek az értékét ily módon a React kontrollál, "kontrollált komponens"-nek hívjuk.
30+
Ezt a kettőt összekombinálhatjuk ha a React állapotot vesszük az "egyedüli igazságforrás"-ként. Így a React komponens, ami az űrlapot rendereli, azt is kontrollálja, hogy mi történik az űrlapban a felhasználói bevitel hatására. Egy beviteli elem, aminek az értékét ily módon a React kontrollál, "kontrollált komponens"-nek hívjuk.
3131

32-
Például ha ki szeretnénk írni a konzolra a nevet, amikor az űrlapot beküldik, létrehozhatunk egy kontrollált komponenst:
32+
Például ha azt szeretnénk hogy az előző példa kiírja a konzolra a nevet az űrlap beküldésekor, létrehozhatjuk az űrlapot egy kontrollált komponensként:
3333

3434
```javascript{4,10-12,24}
3535
class NameForm extends React.Component {
@@ -68,15 +68,15 @@ class NameForm extends React.Component {
6868

6969
Mivel a `value` attribútum be van állítva az elemen, a megjelenített érték mindig `this.state.value` lesz, ez teszi a React állapotot az egyéni igazságforrássá. Mivel a `handleChange` minden egyes billentyűleütéskor frissíti a React állapotot, a megjelenített érték is frissülni fog a felhasználó bevitele eredményeképpen.
7070

71-
Egy kontrollált komponensben minden állapotmódosításhoz hozzá kell rendelni egy eseménykezelő függvényt. Ez egyszerűvé teszi a felhasználó által bevitt adat módosítását vagy validálását. Például ha szeretnénk biztosítani, hogy a nevek csupa nagybetűvel legyenek írva, így módosíthatjuk a `handleChange`-t:
71+
Egy kontrollált komponensben minden állapotmódosításhoz hozzá kell rendelni egy eseménykezelő függvényt. Ez egyszerűvé teszi a felhasználó által bevitt adat módosítását vagy érvényesítését. Például ha szeretnénk biztosítani, hogy a nevek csupa nagybetűvel legyenek írva, így módosíthatjuk a `handleChange`-t:
7272

7373
```javascript{2}
7474
handleChange(event) {
7575
this.setState({value: event.target.value.toUpperCase()});
7676
}
7777
```
7878

79-
## A szövegterület tag {#the-textarea-tag}
79+
## A textarea címke {#the-textarea-tag}
8080

8181
A HTML-ben a `<textarea>` tartalma a gyermeke által van definiálva:
8282

@@ -125,7 +125,7 @@ class EssayForm extends React.Component {
125125

126126
Figyeld meg, hogy a `this.state.value` a konstruktorban kerül inicializálásra, így a szövegterület már az elején tartalmazni fog némi szöveget.
127127

128-
## A select tag {#the-select-tag}
128+
## A select címke {#the-select-tag}
129129

130130
A HTML-ben a `<select>` egy legördülő menüt hoz elő. Ez a HTML például egy ízesítésekből álló legördülő menüt tartalmaz:
131131

@@ -138,7 +138,7 @@ A HTML-ben a `<select>` egy legördülő menüt hoz elő. Ez a HTML például eg
138138
</select>
139139
```
140140

141-
Figyeld meg, hogy a Kókusz opció van kiválasztva alapból, mivel ez tartalmazza a `selected` attribútumot. A React a `selected` attribútum helyett a `value` attribútumot használja a gyökér `select` tagen. Ez így egyszerűbb egy kontrollált komponensben, mivel így csak egy helyen kell módosítani az értéket. Például:
141+
Figyeld meg, hogy a Kókusz opció van kiválasztva alapból, mivel ez tartalmazza a `selected` attribútumot. A React a `selected` attribútum helyett a `value` attribútumot használja a gyökér `select` címkén. Ez így egyszerűbb egy kontrollált komponensben, mivel így csak egy helyen kell módosítani az értéket. Például:
142142

143143
```javascript{4,10-12,24}
144144
class FlavorForm extends React.Component {
@@ -180,25 +180,25 @@ class FlavorForm extends React.Component {
180180

181181
[**Próbáld ki CodePenen**](https://codepen.io/gaearon/pen/JbbEzX?editors=0010)
182182

183-
Alapvetően ezáltal mind az `<input type="text">`, `<textarea>` és `<select>` is hasonlóan működik - mindegyiknek van egy `value` attribútuma, amit használhatsz egy kontrollált komponens létrehozásához.
183+
Alapvetően ezáltal mind az `<input type="text">`, `<textarea>` és `<select>` is hasonlóan működik - mindegyiknek van egy `value` attribútuma, amit használhatsz egy kontrollált komponens létrehozásához.
184184

185185
> Megjegyzés
186186
>
187-
> Egy tömböt is hozzárendelhetsz a `value` attribútumhoz, aminek a segítségével több opciót is kiválaszthatsz egyszerre a `select` tagben:
187+
> Ha egy tömböt rendelsz a `value` attribútumhoz akár több opciót is kiválaszthatsz egyszerre a `select` címkében:
188188
>
189189
>```js
190190
><select multiple={true} value={['B', 'C']}>
191191
>```
192192
193-
## A fájlbeviteli tag {#the-file-input-tag}
193+
## A fájlbeviteli címke {#the-file-input-tag}
194194
195-
A HTML-ben az `<input type="file">` segítségével a felhasználó kiválaszthat egy vagy több fájlt a saját gépéről a szerverre feltöltéshez vagy a JavaScript [Fájl API-val](https://developer.mozilla.org/en-US/docs/Web/API/File/Using_files_from_web_applications) való manipuláláshoz.
195+
A HTML-ben az `<input type="file">` segítségével a felhasználó kiválaszthat egy vagy több fájlt a saját gépéről a szerverre feltöltéshez vagy a JavaScript [Fájl API-val](https://developer.mozilla.org/hu/docs/Web/API/File/Fajlok_hasznalata_webes_alkalmazasokban) való manipuláláshoz.
196196
197197
```html
198198
<input type="file" />
199199
```
200200
201-
Mivel ennek egy csak olvasható értéke van, ez egy **kontrollálatlan** komponens. Erről a többi kontrollálatlan komponenssel együtt olvashatsz [később a dokumentációban](/docs/uncontrolled-components.html#the-file-input-tag).
201+
Mivel ez csak olvasható értékkel rendelkezik, ez egy **kontrollálatlan** komponens. Erről a többi kontrollálatlan komponenssel együtt olvashatsz [később a dokumentációban](/docs/uncontrolled-components.html#the-file-input-tag).
202202

203203
## Több bemenet kezelése {#handling-multiple-inputs}
204204

@@ -295,5 +295,4 @@ Néha nehézkes lehet kontrollált komponenseket használni, mivel minden lehets
295295

296296

297297
## Teljes értékű megoldás {#fully-fledged-solutions}
298-
299298
Ha egy meglévő teljes értékű megoldást keresel, amiben már benne van a validáció, a meglátogatott mezők nyomon követése és az űrlap beküldésének kezelése, a [Formik](https://jaredpalmer.com/formik) az egyik legnépszerűbb választás. Ugyanakkor ez is hasonló alapelvekre épül, mint a kontrollált komponensek vagy az állapotmenedzsment - így ne felejtsd el ezeket sem megtanulni.

0 commit comments

Comments
 (0)