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
*`element`: The `element`argument must be a valid React element. For example, it could be a JSX node like `<Something />`, the result of calling[`createElement`](/reference/react/createElement), or the result of another`cloneElement`call.
50
+
*`element`: `element`argümanı geçerli bir React elementi olmalıdır. Örneğin `<Something />` gibi bir JSX node’u,[`createElement`](/reference/react/createElement) çağrısının sonucu veya başka bir`cloneElement`çağrısının sonucu olabilir.
51
51
52
-
*`props`: The `props`argument must either be an object or `null`. If you pass `null`, the cloned element will retain all of the original `element.props`. Otherwise, for every prop in the `props`object, the returned element will "prefer" the value from `props`over the value from `element.props`. The rest of the props will be filled from the original `element.props`. If you pass `props.key`or`props.ref`, they will replace the original ones.
52
+
*`props`: `props`argümanı bir obje veya `null` olmalıdır. Eğer `null` geçirirseniz, clone edilen element orijinal `element.props` değerlerini korur. Aksi takdirde, `props`objesindeki her prop için dönen element, `element.props`yerine `props` içindeki değeri "tercih eder". Geri kalan prop’lar orijinal `element.props`’tan doldurulur. Eğer `props.key`veya`props.ref` geçirirseniz, bunlar orijinal değerlerin yerini alır.
53
53
54
-
***optional**`...children`: Zero or more child nodes. They can be any React nodes, including React elements, strings, numbers, [portals](/reference/react-dom/createPortal), empty nodes (`null`, `undefined`, `true`, and `false`), and arrays of React nodes. If you don't pass any `...children`arguments, the original `element.props.children`will be preserved.
54
+
***opsiyonel**`...children`: Sıfır veya daha fazla child node. Bunlar React element’leri, string’ler, sayılar, [portals](/reference/react-dom/createPortal), boş node’lar (`null`, `undefined`, `true`, `false`) ve React node dizileri dahil olmak üzere herhangi bir React node olabilir. Eğer herhangi bir `...children`argümanı geçmezseniz, orijinal `element.props.children`korunur.
55
55
56
56
#### Returns {/*returns*/}
57
57
58
-
`cloneElement` returns a React element object with a few properties:
58
+
`cloneElement`, birkaç özelliğe sahip bir React element objesi döndürür:
59
59
60
-
*`type`: Same as `element.type`.
61
-
*`props`: The result of shallowly merging `element.props`with the overriding`props` you have passed.
62
-
*`ref`: The original `element.ref`, unless it was overridden by `props.ref`.
63
-
*`key`: The original `element.key`, unless it was overridden by `props.key`.
60
+
*`type`: `element.type` ile aynıdır.
61
+
*`props`: `element.props`ile verdiğiniz override`props`’un shallow merge edilmesi sonucu oluşur.
62
+
*`ref`: `props.ref` ile override edilmediyse, orijinal `element.ref`.
63
+
*`key`: `props.key` ile override edilmediyse, orijinal `element.key`.
64
64
65
-
Usually, you'll return the element from your component or make it a child of another element. Although you may read the element's properties, it's best to treat every element as opaque after it's created, and only render it.
65
+
Genellikle, bu elementi component’inizden döndürür veya başka bir elementin child’ı olarak kullanırsınız. Element’in özelliklerini okuyabilseniz de, oluşturulduktan sonra her elementi opaque (iç yapısı bilinmeyen) olarak ele almak ve sadece render etmek en iyisidir.
66
66
67
-
#### Caveats {/*caveats*/}
67
+
#### Uyarılar {/*caveats*/}
68
68
69
-
*Cloning an element **does not modify the original element.**
69
+
*Bir elementi clone etmek **orijinal elementi değiştirmez.**
70
70
71
-
*You should only**pass children as multiple arguments to `cloneElement` if they are all statically known,**like`cloneElement(element, null, child1, child2, child3)`. If your children are dynamic, pass the entire array as the third argument: `cloneElement(element, null, listItems)`. This ensures that React will [warn you about missing `key`s](/learn/rendering-lists#keeping-list-items-in-order-with-key)for any dynamic lists. For static lists this is not necessary because they never reorder.
71
+
*`children`’ları `cloneElement`’e yalnızca**tamamı statik olarak biliniyorsa çoklu argümanlar şeklinde geçmelisiniz,**örneğin`cloneElement(element, null, child1, child2, child3)`. Eğer `children` dinamik ise, tüm diziyi üçüncü argüman olarak geçin: `cloneElement(element, null, listItems)`. Bu, React’in dinamik listeler için [eksik `key` uyarısı vermesini](/learn/rendering-lists#keeping-list-items-in-order-with-key)sağlar. Statik listeler için bu gerekli değildir çünkü yeniden sıralanmazlar.
72
72
73
-
*`cloneElement` makes it harder to trace the data flow, so **try the [alternatives](#alternatives)instead.**
73
+
*`cloneElement`, veri akışını takip etmeyi zorlaştırır, bu yüzden **bunun yerine [alternatifleri](#alternatives)kullanmayı deneyin.**
74
74
75
75
---
76
76
77
-
## Usage {/*usage*/}
77
+
## Kullanım {/*usage*/}
78
78
79
-
### Overriding props of an element {/*overriding-props-of-an-element*/}
79
+
### Bir öğenin özelliklerini geçersiz kılma {/*overriding-props-of-an-element*/}
80
80
81
-
To override the props of some <CodeStepstep={1}>React element</CodeStep>, pass it to `cloneElement` with the <CodeStepstep={2}>props you want to override</CodeStep>:
81
+
Bazı <CodeStepstep={1}>React element</CodeStep> prop’larını override etmek için, onu `cloneElement`’e <CodeStepstep={2}>override etmek istediğiniz props</CodeStep> ile geçirin:
Here, the resulting <CodeStepstep={3}>cloned element</CodeStep> will be `<Row title="Cabbage" isHighlighted={true} />`.
93
+
Burada, ortaya çıkan <CodeStepstep={3}>cloned element</CodeStep> `<Row title="Cabbage" isHighlighted={true} />` olacaktır.
94
94
95
-
**Let's walk through an example to see when it's useful.**
95
+
**Ne zaman kullanışlı olduğunu görmek için bir örnek üzerinden gidelim.**
96
96
97
-
Imagine a `List` component that renders its[`children`](/learn/passing-props-to-a-component#passing-jsx-as-children)as a list of selectable rows with a "Next" button that changes which row is selected. The `List` component needs to render the selected `Row` differently, so it clones every `<Row>` child that it has received, and adds an extra `isHighlighted: true`or`isHighlighted: false` prop:
97
+
Bir `List` component’ini düşünün; bu component[`children`](/learn/passing-props-to-a-component#passing-jsx-as-children)öğelerini, seçilebilir satırlar listesi olarak render eder ve hangi satırın seçili olduğunu değiştiren bir "Next" butonu vardır. `List` component’i seçili `Row`’u farklı render etmesi gerektiğinden, aldığı her `<Row>` child’ını clone eder ve ekstra bir `isHighlighted: true`veya`isHighlighted: false` prop’u ekler:
98
98
99
99
```js {6-8}
100
100
exportdefaultfunctionList({ children }) {
@@ -108,7 +108,7 @@ export default function List({ children }) {
108
108
)}
109
109
```
110
110
111
-
Let's say the original JSX received by `List` looks like this:
111
+
Diyelim ki `List`’in aldığı orijinal JSX şöyle görünüyor:
112
112
113
113
```js {2-4}
114
114
<List>
@@ -118,7 +118,7 @@ Let's say the original JSX received by `List` looks like this:
118
118
</List>
119
119
```
120
120
121
-
By cloning its children, the `List`can pass extra information to every `Row` inside. The result looks like this:
121
+
Children’larını clone ederek, `List`her bir `Row`’a ekstra bilgi geçirebilir. Sonuç şöyle görünür:
0 commit comments