Skip to content

Commit 6ea33a5

Browse files
committed
translate fourth challenge rendering-lists
1 parent 8089b3a commit 6ea33a5

File tree

1 file changed

+14
-14
lines changed

1 file changed

+14
-14
lines changed

src/content/learn/rendering-lists.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -419,7 +419,7 @@ Dosya isimleri de dizilerdeki JSX anahtarları aynı amaca hizmet etmektedir. An
419419

420420
<Pitfall>
421421

422-
Anahtar olarak dizideki bir öğenin dizinini kullanmak isteyebilirsiniz. Aslında, hiç bir `anahtar` belirtmezseniz React'in kullanacağı anahtar budur. Ancak, bir öğe eklenirse, silinirse veya dizi yeniden sıralanırsa, öğeleri oluşturma sıranız zaman içinde değişecektir. Bir anahtar olarak dizin, genellikle gizli ve kafa karıştırıcı hatalara yol açar.
422+
Anahtar olarak dizideki bir öğenin indeksini kullanmak isteyebilirsiniz. Aslında, hiç bir `anahtar` belirtmezseniz React'in kullanacağı anahtar budur. Ancak, bir öğe eklenirse, silinirse veya dizi yeniden sıralanırsa, öğeleri oluşturma sıranız zaman içinde değişecektir. Bir anahtar olarak indeksi kullanmak, genellikle gizli ve kafa karıştırıcı hatalara yol açar.
423423

424424
Benzer şekilde, anahtarları o anda oluşturmayın, örneğin `anahtar={Math.random()}` ile oluşturulan anahtarlar. Bu, anahtarların render etmeler arasında eşleşmemesine neden olarak tüm bileşenlerinizin ve DOM'un her seferinde yeniden oluşturulmasına yol açar. Bu sadece yavaş olmakla kalmaz, aynı zamanda liste öğeleri içindeki herhangi bir kullanıcı girdisini de kaybeder. Bunun yerine, verilere dayalı sabit bir ID kullanılmalıdır.
425425

@@ -974,11 +974,11 @@ export const recipes = [{
974974

975975
</Sandpack>
976976

977-
Her bir `recipes` zaten bir `id` değerine sahip, bu yüzden dışardaki döngü bu değeri `anahtar` olarak kullanmakta. İçindekiler kısmındaki döngü için kullanabiliceğimiz bir ID değerine sahip değiliz. Ancak, bir malzeme aynı tarif içinde iki defa bulunmayacağından dolayı, malzemenin ismini `anahtar` olarak kullanmakta bir sakınca yoktur. Alternatif olarak, veri yapısını ID'ler olacak şekilde değiştirebilir ya da dizini `anahtar` olarak kullanabiliriz (malzemeleri güvenli bir şekilde yeniden sıralayamayacağımız uyarısıyla).
977+
Her bir `recipes` zaten bir `id` değerine sahip, bu yüzden dışardaki döngü bu değeri `anahtar` olarak kullanmakta. İçindekiler kısmındaki döngü için kullanabiliceğimiz bir ID değerine sahip değiliz. Ancak, bir malzeme aynı tarif içinde iki defa bulunmayacağından dolayı, malzemenin ismini `anahtar` olarak kullanmakta bir sakınca yoktur. Alternatif olarak, veri yapısını ID'ler olacak şekilde değiştirebilir ya da indeksi `anahtar` olarak kullanabiliriz (malzemeleri güvenli bir şekilde yeniden sıralayamayacağımız uyarısıyla).
978978

979979
</Solution>
980980

981-
#### Bir liste öğesi bileşenini çıkarma {/*extracting-a-list-item-component*/}
981+
#### Bir liste öğesi bileşeni çıkarma {/*extracting-a-list-item-component*/}
982982

983983
`RecipeList` bileşeni iç içe iki defa `map` metodunu kullanmaktadır. Bu işlemin basitleştirmek için, `id`, `name`, ve `ingredients` prop'larını alacak olan yeni bir `Recipe` bileşeni oluşturun. Dıştaki `anahtar` nereye ve neden yerleştirirsiniz?
984984

@@ -1086,9 +1086,9 @@ Burada, `<Recipe {...recipe} key={recipe.id} />` syntax'ı `recipe` objesinin t
10861086

10871087
</Solution>
10881088

1089-
#### List with a separator {/*list-with-a-separator*/}
1089+
#### Ayraç içeren liste {/*list-with-a-separator*/}
10901090

1091-
This example renders a famous haiku by Katsushika Hokusai, with each line wrapped in a `<p>` tag. Your job is to insert an `<hr />` separator between each paragraph. Your resulting structure should look like this:
1091+
Bu örnek, Katsushika Hokusai'nin her satırı `<p>` elementi içinde olacak şekilde yazılmış ünlü bir haiku'sunu göstermektedir. Bizim görevimiz, her paragrafın arasına gelecek bir `<hr />` ayırıcı elementi eklemektir. Ortaya şöyle bir yapı çıkmalıdır:
10921092

10931093
```js
10941094
<article>
@@ -1100,7 +1100,7 @@ This example renders a famous haiku by Katsushika Hokusai, with each line wrappe
11001100
</article>
11011101
```
11021102

1103-
A haiku only contains three lines, but your solution should work with any number of lines. Note that `<hr />` elements only appear *between* the `<p>` elements, not in the beginning or the end!
1103+
Bir haiku yalnızca üç satır içerir ancak yapacağınız çözüm herhangi bir sayıda satırla da çalışmalıdır. `<hr />` elementinin `<p>` elementinin yalnızca *arasında* olduğuna, başında ya da sonunda olmadığına dikkat edin!
11041104

11051105
<Sandpack>
11061106

@@ -1143,17 +1143,17 @@ hr {
11431143

11441144
</Sandpack>
11451145

1146-
(This is a rare case where index as a key is acceptable because a poem's lines will never reorder.)
1146+
(Burası indeksi anahtar olarak kullanmakta sakınca olmadağı nadir durumlardan biridir çünkü şiirin satırlarının yerleri hiçbir zaman değişmeyecektir.)
11471147

11481148
<Hint>
11491149

1150-
You'll either need to convert `map` to a manual loop, or use a fragment.
1150+
Burada `map` metodu yerine manuel bir döngü kullanmanız ya da bir fragment kullanmanız gerekmektedir.
11511151

11521152
</Hint>
11531153

11541154
<Solution>
11551155

1156-
You can write a manual loop, inserting `<hr />` and `<p>...</p>` into the output array as you go:
1156+
Output dizisine `<hr />` ve `<p>...</p>` elementleri ekleyerek manuel bir döngü yazabilirsiniz:
11571157

11581158
<Sandpack>
11591159

@@ -1169,7 +1169,7 @@ const poem = {
11691169
export default function Poem() {
11701170
let output = [];
11711171

1172-
// Fill the output array
1172+
// Output dizisine ekleyin
11731173
poem.lines.forEach((line, i) => {
11741174
output.push(
11751175
<hr key={i + '-separator'} />
@@ -1180,7 +1180,7 @@ export default function Poem() {
11801180
</p>
11811181
);
11821182
});
1183-
// Remove the first <hr />
1183+
// İlk <hr /> elementi silin
11841184
output.shift();
11851185

11861186
return (
@@ -1208,9 +1208,9 @@ hr {
12081208

12091209
</Sandpack>
12101210

1211-
Using the original line index as a `key` doesn't work anymore because each separator and paragraph are now in the same array. However, you can give each of them a distinct key using a suffix, e.g. `key={i + '-text'}`.
1211+
Şiirin satır indeksini `anahtar` olarak kullanmak artık işe yaramayacaktır çünkü artık her ayraç ve paragraf aynı dizide bulunmakta. Ancak, bir sonek kullanarak her birine ayrı bir anahtar verebilirsiniz, örneğin `key={i + '-text'}`.
12121212

1213-
Alternatively, you could render a collection of fragments which contain `<hr />` and `<p>...</p>`. However, the `<>...</>` shorthand syntax doesn't support passing keys, so you'd have to write `<Fragment>` explicitly:
1213+
Alternatif olarak, `<hr />` ve `<p>...</p>` elementlerini içeren fragmentler render edebilirsiniz. Ancak, `<>...</>` kısa syntax'i anahtarları prop olarak alamaz bu yüzden `<Fragment>` olarak kullanmanız gerekmektedir:
12141214

12151215
<Sandpack>
12161216

@@ -1256,7 +1256,7 @@ hr {
12561256

12571257
</Sandpack>
12581258

1259-
Remember, fragments (often written as `<> </>`) let you group JSX nodes without adding extra `<div>`s!
1259+
Şunu unutmayın, fragmentler (`<> </>` şeklinde yazılır) fazladan `<div>`ler kullanmadan JSX node'larını gruplamanıza izin verirler.
12601260

12611261
</Solution>
12621262

0 commit comments

Comments
 (0)