Skip to content

Commit 4411fce

Browse files
committed
remove rogue formating {thinking-in-react-hu}
1 parent abdd99d commit 4411fce

File tree

1 file changed

+18
-18
lines changed

1 file changed

+18
-18
lines changed

content/docs/thinking-in-react.md

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -74,9 +74,9 @@ Ezt a lépést befejezve lesz egy könyvtárad többször hasznosítható kompon
7474

7575
Fordulj a [React dokumentációhoz](/docs/) ha segítségre van szükséged a fenti lépés elvégzéséhez!
7676

77-
### Egy kis közjáték: `props` vagy `state` {#a-brief-interlude-props-vs-state}
77+
### Egy kis közjáték: props vagy state {#a-brief-interlude-props-vs-state}
7878

79-
Kétféle adatot használunk Reactban, van `props` és `state`. Fontos megérteni a különbséget; fusd végig a [hivatalos React dokumentációt](/docs/state-and-lifecycle.html) ha nem vagy biztos benne, hogy ez már világos! Lásd még [GYÍK: `state` vagy `props`, mi a különbség?](/docs/faq-state.html#what-is-the-difference-between-state-and-props)
79+
Kétféle adatot használunk Reactban, van props és state. Fontos megérteni a különbséget; fusd végig a [hivatalos React dokumentációt](/docs/state-and-lifecycle.html) ha nem vagy biztos benne, hogy ez már világos! Lásd még [GYÍK: state vagy props, mi a különbség?](/docs/faq-state.html#what-is-the-difference-between-state-and-props)
8080

8181
## Harmadik lépés: Azonosítsd a UI állapot minimális (de teljes) reprezentációját {#step-3-identify-the-minimal-but-complete-representation-of-ui-state}
8282

@@ -93,13 +93,13 @@ Vegyük végig a példánkban szereplő adatokat:
9393

9494
Nézzük hát ezekből mi lehet állapot? Ezeket a kérdéseket kell feltenned mindegyikkel kapcsolatban:
9595

96-
1. Egy szülő komponenstől kaptuk props-on keresztül? Ha igen, akkor ez valószínűleg nem `state`.
97-
2. Változatlan marad az idő elteltével? Ha igen, feltehetőleg nem `state`.
98-
3. Elő tudod állítani az egyéb `state` és a `props` alapján? Ha igen, akkor nem `state`.
96+
1. Egy szülő komponenstől kaptuk props-on keresztül? Ha igen, akkor ez valószínűleg nem state.
97+
2. Változatlan marad az idő elteltével? Ha igen, feltehetőleg nem state.
98+
3. Elő tudod állítani az egyéb state és a props alapján? Ha igen, akkor nem state.
9999

100-
Az eredeti terméklista `props`ban érkezik, tehát nem `state`. A keresés szövege és a jelölőnégyzet `state` lesz, hiszen megváltozhatnak és nem számíthatók ki más adatokból. Végül a leszűrt terméklista sem `state` hiszen az eredeti lista és kereső szöveg valamint a jelölőnégyzet állapota alapján számolható.
100+
Az eredeti terméklista propsban érkezik, tehát nem state. A keresés szövege és a jelölőnégyzet state lesz, hiszen megváltozhatnak és nem számíthatók ki más adatokból. Végül a leszűrt terméklista sem state hiszen az eredeti lista és kereső szöveg valamint a jelölőnégyzet állapota alapján számolható.
101101

102-
Tehát ennyi lett a `state`:
102+
Tehát ennyi lett a state:
103103

104104
* A felhasználó által megadott keresőszöveg
105105
* A jelölőnégyzet értéke
@@ -108,38 +108,38 @@ Tehát ennyi lett a `state`:
108108

109109
<p data-height="600" data-theme-id="0" data-slug-hash="qPrNQZ" data-default-tab="js" data-user="lacker" data-embed-version="2" class="codepen">Nézd meg a <a href="https://codepen.io/gaearon/pen/qPrNQZ">Thinking In React: Step 4</a>-t a <a href="https://codepen.io">CodePen</a>en.</p>
110110

111-
OK, szóval meghatároztuk mi a minimális `state` az alkalmazásunkban. Most el kell döntenünk melyik komponens változtatja vagy *birtokolja* ezt a `state`-et.
111+
OK, szóval meghatároztuk mi a minimális state az alkalmazásunkban. Most el kell döntenünk melyik komponens változtatja vagy *birtokolja* ezt a state-et.
112112

113-
Emlékezz: A React lényege az egy irányú adatáramlás a komponens hierarchiában. Talán nem egyértelmű melyik komponenshez melyik `state` tartozik. **Gyakran ezt megérteni a legnagyobb kihívás kezdők számára,** de csak kövesd ezeket a lépéseket:
113+
Emlékezz: A React lényege az egy irányú adatáramlás a komponens hierarchiában. Talán nem egyértelmű melyik komponenshez melyik state tartozik. **Gyakran ezt megérteni a legnagyobb kihívás kezdők számára,** de csak kövesd ezeket a lépéseket:
114114

115-
Minden azonosított `state`-hez az alkalmazásodban:
115+
Minden azonosított state-hez az alkalmazásodban:
116116

117-
* Azonosíts minden komponenst amely renderel valamit az adott `state` alapján
118-
* Keresd meg a közös komponenst (egy bizonyos komponens a hierarchiában, ami felette áll `state`-et használó minden komponensnek).
119-
* Vagy a közös szülő, vagy egy másik a hierarchiában magasabban álló komponens kell birtokolja a `state`-et.
120-
* Ha nem találsz olyan komponenst ahol van értelme a `state`-et elhelyezni, létrehozhatsz egyet pusztán azért, hogy azt kezelje és illeszd a hierarchiába valahol a közös bitrokló komponens felé.
117+
* Azonosíts minden komponenst amely renderel valamit az adott state alapján
118+
* Keresd meg a közös komponenst (egy bizonyos komponens a hierarchiában, ami felette áll state-et használó minden komponensnek).
119+
* Vagy a közös szülő, vagy egy másik a hierarchiában magasabban álló komponens kell birtokolja a state-et.
120+
* Ha nem találsz olyan komponenst ahol van értelme a state-et elhelyezni, létrehozhatsz egyet pusztán azért, hogy azt kezelje és illeszd a hierarchiába valahol a közös bitrokló komponens felé.
121121

122122
Próbáljuk ki ezt a stratégiát az alkalmazásunkon:
123123

124124
* A `ProductTable` le kell szűrje a listát és a `SearchBar` meg kell jelenítse a kereső szöveget és jelölőnégyzet állapotát.
125125
* A közös bitrokló komponens számukra a `FilterableProductTable`.
126126
* Fogalmilag tényleg van értelme, hogy mindkét érték a `FilterableProductTable` komponensben lakjon.
127127

128-
Király, ezzel el is döntöttük, a `state` helye a `FilterableProductTable`. Először, vegyük fel hozzá a példány tulajdonságot a `FilterableProductTable` konstruktorába és adjunk neki kezdeti értéket is: `this.state = {filterText: '', inStockOnly: false}`. Ezután adjuk tovább a `filterText` és `inStockOnly` értékét a `ProductTable` és a `SearchBar` számára `props`ban. Végül a `ProductTable`-ben használjuk őket szűrésre és jelenítsük meg az értéküket a `SearchBar` űrlap mezőiben.
128+
Király, ezzel el is döntöttük, a state helye a `FilterableProductTable`. Először, vegyük fel hozzá a példány tulajdonságot a `FilterableProductTable` konstruktorába és adjunk neki kezdeti értéket is: `this.state = {filterText: '', inStockOnly: false}`. Ezután adjuk tovább a `filterText` és `inStockOnly` értékét a `ProductTable` és a `SearchBar` számára propsban. Végül a `ProductTable`-ben használjuk őket szűrésre és jelenítsük meg az értéküket a `SearchBar` űrlap mezőiben.
129129

130130
Hogy viselkedik az alkalmazás, ha a `filterText` értékét beállítod `"ball"`-nak és frissíted az app-ot? Láthatod, hogy az értékek ennek megfelelően jelennek meg.
131131

132132
## Ötödik lépés: Fordított adatáramlás {#step-5-add-inverse-data-flow}
133133

134134
<p data-height="600" data-theme-id="0" data-slug-hash="LzWZvb" data-default-tab="js,result" data-user="rohan10" data-embed-version="2" data-pen-title="Thinking In React: Step 5" class="codepen">Nézd meg a <a href="https://codepen.io/gaearon/pen/LzWZvb">Thinking In React: Step 5</a>-t a <a href="https://codepen.io">CodePen</a>en.</p>
135135

136-
Van tehát egy alkalmazásunk ami helyesen jeleníti meg az adatokat a `props` és a `state` függvényében lefelé áramoltatva ezeket a hierarchiában. Eljött az ideje, hogy a másik irányba is mozgassunk adatokat. A form komponenseinknek a hierarchia mélyén is tudniuk kell frissíteni a `state`-et a `FilterableProductTable`-ben.
136+
Van tehát egy alkalmazásunk ami helyesen jeleníti meg az adatokat a props és a state függvényében lefelé áramoltatva ezeket a hierarchiában. Eljött az ideje, hogy a másik irányba is mozgassunk adatokat. A form komponenseinknek a hierarchia mélyén is tudniuk kell frissíteni a state-et a `FilterableProductTable`-ben.
137137

138138
Reactben ezt nagyon kifejezően ábrázolhatjuk, ami segíti megérteni a program hogyan is működik, de egy kicsit többet kell hozzá gépelni, mint a hagyományos kétirányú adatkapcsolat esetén.
139139

140-
Ha próbáltál szöveget beírni vagy kipipálni a jelölőnégyzetet a mostani verziónkban, akkor már láttad, hogy a React figyelmen kívül hagyja a bemeneteket. Ez szándékos, mivel így lehetséges, hogy a `props`ban kapott érték amit átadunk az `input`nak a `value`-ban mindíg azonos legyen a `state`-ben tárolt értékkel amit a `FilterableProductTable`-ból továbbadunk.
140+
Ha próbáltál szöveget beírni vagy kipipálni a jelölőnégyzetet a mostani verziónkban, akkor már láttad, hogy a React figyelmen kívül hagyja a bemeneteket. Ez szándékos, mivel így lehetséges, hogy a propsban kapott érték amit átadunk az `input`nak a `value`-ban mindíg azonos legyen a state-ben tárolt értékkel amit a `FilterableProductTable`-ból továbbadunk.
141141

142-
Gondoljuk végig mit szeretnénk, mi történjen. Azt akarjuk, hogy bármikor ha a felhasználó megváltoztatja az űrlapot mi frissíthessük a `state`-et, hogy az tükrözze a bemeneten kapott adatot. Mivel a komponensek csak a saját `state`-jüket frissíthetik, a `FilterableProductTable` callback függvényeket ad át a `SearchBar`-nak melyek meghívódnak valahányszor a `state`-et frissíteni kell. Használhatjuk az input mezők `onChange` eseményét, a `FilterableProductTable` által átadott callback-ek meghívhatják annak `setState()` metódusát és alkalmazásunk frissül majd.
142+
Gondoljuk végig mit szeretnénk, mi történjen. Azt akarjuk, hogy bármikor ha a felhasználó megváltoztatja az űrlapot mi frissíthessük a state-et, hogy az tükrözze a bemeneten kapott adatot. Mivel a komponensek csak a saját state-jüket frissíthetik, a `FilterableProductTable` callback függvényeket ad át a `SearchBar`-nak melyek meghívódnak valahányszor a state-et frissíteni kell. Használhatjuk az input mezők `onChange` eseményét, a `FilterableProductTable` által átadott callback-ek meghívhatják annak `setState()` metódusát és alkalmazásunk frissül majd.
143143

144144
## Ennyi volna {#and-thats-it}
145145

0 commit comments

Comments
 (0)