Skip to content

Commit ab2a141

Browse files
committed
"anda" -> "Anda" reactjs#547
1 parent 7bf596a commit ab2a141

File tree

1 file changed

+15
-15
lines changed

1 file changed

+15
-15
lines changed

src/content/reference/react/cloneElement.md

+15-15
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Menggunakan `cloneElement` adalah hal yang jarang terjadi dan dapat menyebabkan
1010

1111
<Intro>
1212

13-
`cloneElement` memungkinkan anda untuk membuat elemen React baru dengan menggunakan elemen lain sebagai titik awal.
13+
`cloneElement` memungkinkan Anda untuk membuat elemen React baru dengan menggunakan elemen lain sebagai titik awal.
1414

1515
```js
1616
const clonedElement = cloneElement(element, props, ...children)
@@ -49,26 +49,26 @@ console.log(clonedElement); // <Row title="Cabbage">Goodbye</Row>
4949

5050
* `element`: Argumen `element` harus merupakan elemen React yang valid. Misalnya, dapat berupa simpul JSX seperti `<Something />`, hasil dari pemanggilan [`createElement`](/reference/react/createElement), atau hasil dari pemanggilan `cloneElement` lainnya.
5151

52-
* `props`: Argumen `props` harus berupa objek atau `null`. Jika anda mengoper `null`, elemen yang di-kloning akan mempertahankan semua `element.props` yang orisinal. Sebaliknya, untuk setiap *prop* di objek `props`, elemen yang dikembalikan akan "memilih" nilai dari `props` daripada nilai dari `element.props`. Sisa *props* lainnya akan diisi dari `element.props` yang orisinal. Jika anda mengoper `props.key` atau `props.ref`, mereka akan menggantikan yang orisinal.
52+
* `props`: Argumen `props` harus berupa objek atau `null`. Jika Anda mengoper `null`, elemen yang di-kloning akan mempertahankan semua `element.props` yang orisinal. Sebaliknya, untuk setiap *prop* di objek `props`, elemen yang dikembalikan akan "memilih" nilai dari `props` daripada nilai dari `element.props`. Sisa *props* lainnya akan diisi dari `element.props` yang orisinal. Jika Anda mengoper `props.key` atau `props.ref`, mereka akan menggantikan yang orisinal.
5353

54-
* **opsional** `...children`: Nol atau lebih simpul anak. Bisa dari simpul React apa pun, termasuk elemen React, *string*, dan *number*. [*portal*](/reference/react-dom/createPortal), simpul kosong (`null`, `undefined`, `true`, dan `false`), dan senarai dari simpul-simpul React. Jika anda tidak mengoper argumen `...children` apa pun, `element.props.children` yang orisinal akan tetap dipertahankan.
54+
* **opsional** `...children`: Nol atau lebih simpul anak. Bisa dari simpul React apa pun, termasuk elemen React, *string*, dan *number*. [*portal*](/reference/react-dom/createPortal), simpul kosong (`null`, `undefined`, `true`, dan `false`), dan senarai dari simpul-simpul React. Jika Anda tidak mengoper argumen `...children` apa pun, `element.props.children` yang orisinal akan tetap dipertahankan.
5555

5656
#### Kembalian {/*returns*/}
5757

5858
`cloneElement` mengembalikan objek elemen React dengan beberapa properti:
5959

6060
* `type`: Sama seperti `element.type`.
61-
* `props`: Hasil dari penggabungan dangkal antara `element.props` dengan `props` yang anda oper untuk menimpanya.
61+
* `props`: Hasil dari penggabungan dangkal antara `element.props` dengan `props` yang Anda oper untuk menimpanya.
6262
* `ref`: `element.ref` yang orisinal, kecuali telah ditimpa oleh `props.ref`.
6363
* `key`: `element.key`, yang orisinal, kecuali telah ditimpa oleh `props.key`.
6464

65-
Biasanya, anda akan mengembalikan elemen dari sebuah komponen atau membuatnya sebagai anak dari elemen lain. Meskipun anda mungkin membaca properti elemen tersebut, sebaiknya anda memperlakukan setiap elemen sebagai objek tersembunyi setelah dibuat, dan hanya me-*render*-nya.
65+
Biasanya, Anda akan mengembalikan elemen dari sebuah komponen atau membuatnya sebagai anak dari elemen lain. Meskipun Anda mungkin membaca properti elemen tersebut, sebaiknya Anda memperlakukan setiap elemen sebagai objek tersembunyi setelah dibuat, dan hanya me-*render*-nya.
6666

6767
#### Catatan penting {/*caveats*/}
6868

6969
* Mengkloning sebuah elemen **tidak mengubah elemen yang orisinal**.
7070

71-
* Sebaiknya anda hanya **mengoper *children* sebagai beberapa argumen ke `cloneElement` jika semuanya diketahui secara statis,** seperti `cloneElement(element, null, child1, child2, child3)`. Jika *children* anda dinamis, oper seluruh senarai sebagai argumen ketiga: `cloneElement(element, null, listItems)`. Ini memastikan bahwa React akan [memperingatkan anda tentang `key` yang hilang](/learn/rendering-lists#keeping-list-items-in-order-with-key) untuk setiap *list* dinamis. Untuk *list* statis hal tersebut tidak diperlukan karena tidak pernah diurutkan ulang.
71+
* Sebaiknya Anda hanya **mengoper *children* sebagai beberapa argumen ke `cloneElement` jika semuanya diketahui secara statis,** seperti `cloneElement(element, null, child1, child2, child3)`. Jika *children* Anda dinamis, oper seluruh senarai sebagai argumen ketiga: `cloneElement(element, null, listItems)`. Ini memastikan bahwa React akan [memperingatkan Anda tentang `key` yang hilang](/learn/rendering-lists#keeping-list-items-in-order-with-key) untuk setiap *list* dinamis. Untuk *list* statis hal tersebut tidak diperlukan karena tidak pernah diurutkan ulang.
7272

7373
* `cloneElement` membuat pelacakan aliran data lebih sulit, jadi **cobalah beberapa [alternatif](#alternatives) sebagai gantinya.**
7474

@@ -78,7 +78,7 @@ Biasanya, anda akan mengembalikan elemen dari sebuah komponen atau membuatnya se
7878

7979
### Menimpa props dari suatu elemen {/*overriding-props-of-an-element*/}
8080

81-
Untuk menimpa *prop* dari beberapa <CodeStep step={1}>elemen React</CodeStep>, oper ke `cloneElement` dengan <CodeStep step={2}>*props* yang ingin anda timpa</CodeStep>:
81+
Untuk menimpa *prop* dari beberapa <CodeStep step={1}>elemen React</CodeStep>, oper ke `cloneElement` dengan <CodeStep step={2}>*props* yang ingin Anda timpa</CodeStep>:
8282

8383
```js [[1, 5, "<Row title=\\"Cabbage\\" />"], [2, 6, "{ isHighlighted: true }"], [3, 4, "clonedElement"]]
8484
import { cloneElement } from 'react';
@@ -236,7 +236,7 @@ Ringkasnya, `List` mengkloning elemen `<Row />` yang diterimanya dan menambahkan
236236
237237
<Pitfall>
238238
239-
Mengkloning *children* mempersulit untuk mengetahui bagaimana aliran data di aplikasi anda. Coba salah satu [alternatif.](#alternatives)
239+
Mengkloning *children* mempersulit untuk mengetahui bagaimana aliran data di aplikasi Anda. Coba salah satu [alternatif.](#alternatives)
240240
241241
</Pitfall>
242242
@@ -259,7 +259,7 @@ export default function List({ items, renderItem }) {
259259
})}
260260
```
261261
262-
*Prop* `renderItem` disebut "render prop" karena merupakan *prop* yang menentukan cara me-*render* sesuatu. Misalnya, anda dapat mengoper `renderItem` yang me-*render* `<Row>` dengan nilai `isHighlighted` yang diberikan:
262+
*Prop* `renderItem` disebut "render prop" karena merupakan *prop* yang menentukan cara me-*render* sesuatu. Misalnya, Anda dapat mengoper `renderItem` yang me-*render* `<Row>` dengan nilai `isHighlighted` yang diberikan:
263263
264264
```js {3,7}
265265
<List
@@ -293,7 +293,7 @@ Hasil akhirnya sama dengan `cloneElement`:
293293
</List>
294294
```
295295
296-
Namun, anda dapat dengan mudah melacak dari mana nilai `isHighlighted` berasal.
296+
Namun, Anda dapat dengan mudah melacak dari mana nilai `isHighlighted` berasal.
297297
298298
<Sandpack>
299299
@@ -397,7 +397,7 @@ Pola ini lebih anjurkan daripada `cloneElement` karena lebih eksplisit.
397397
398398
Alternatif lain untuk `cloneElement` adalah [mengoper data melalui *context*.](/learn/passing-data-deeply-with-context)
399399
400-
Sebagai contoh, anda dapat memanggil [`createContext`](/reference/react/createContext) untuk mendefinisikan `HighlightContext`:
400+
Sebagai contoh, Anda dapat memanggil [`createContext`](/reference/react/createContext) untuk mendefinisikan `HighlightContext`:
401401
402402
```js
403403
export const HighlightContext = createContext(false);
@@ -555,7 +555,7 @@ button {
555555
556556
### Mengekstraksi logika ke dalam Hook kustom {/*extracting-logic-into-a-custom-hook*/}
557557
558-
Pendekatan lain yang dapat anda coba adalah mengekstrak logika "non-visual" ke dalam Hook anda sendiri, dan menggunakan informasi yang dikembalikan oleh Hook anda untuk memutuskan apa yang akan di-*render*. Misalnya, anda dapat menulis Hook kustom `useList` seperti ini:
558+
Pendekatan lain yang dapat Anda coba adalah mengekstrak logika "non-visual" ke dalam Hook Anda sendiri, dan menggunakan informasi yang dikembalikan oleh Hook Anda untuk memutuskan apa yang akan di-*render*. Misalnya, Anda dapat menulis Hook kustom `useList` seperti ini:
559559
560560
```js
561561
import { useState } from 'react';
@@ -574,7 +574,7 @@ export default function useList(items) {
574574
}
575575
```
576576
577-
Lalu anda dapat menggunakannya seperti ini:
577+
Lalu Anda dapat menggunakannya seperti ini:
578578
579579
```js {2,9,13}
580580
export default function App() {
@@ -597,7 +597,7 @@ export default function App() {
597597
}
598598
```
599599
600-
Aliran datanya eksplisit, tetapi *state* ada di dalam Hook kustom `useList` yang dapat anda gunakan dari komponen apa pun:
600+
Aliran datanya eksplisit, tetapi *state* ada di dalam Hook kustom `useList` yang dapat Anda gunakan dari komponen apa pun:
601601
602602
<Sandpack>
603603
@@ -690,4 +690,4 @@ button {
690690
691691
</Sandpack>
692692
693-
Pendekatan ini sangat berguna jika anda ingin menggunakan kembali logika ini di komponen yang berbeda.
693+
Pendekatan ini sangat berguna jika Anda ingin menggunakan kembali logika ini di komponen yang berbeda.

0 commit comments

Comments
 (0)