Skip to content

Commit 5398157

Browse files
committed
Change word "kunci" to "key" in Reconciliation page
1 parent 0819c1b commit 5398157

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

content/docs/reconciliation.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -110,9 +110,9 @@ Jika Anda mengimplementasikan dengan naifnya, memasukan sebuah elemen di awal me
110110

111111
React akan mengubah setiap *child* daripada menyadari itu dapat menjaga keutuhan sub-pohon `<li>Duke</li>` dan `<li>Villanova</li>`. Ketidakefisienan ini bisa menjadi masalah.
112112

113-
### Kunci {#keys}
113+
### Key {#keys}
114114

115-
Untuk mengatasi masalah ini, React mendukung atribut `key`. Saat *children* memiliki kunci, React menggunakan kunci untuk mencocokan *children* di dalam pohon yang asli dengan *children* di dalam pohon selanjutnya. Sebagai contoh, menambahkan `key` pada contoh tidak efisien kita diatas dapat membuat konversi pohon efisien:
115+
Untuk mengatasi masalah ini, React mendukung atribut `key`. Saat *children* memiliki *key*, React menggunakan *key* untuk mencocokan *children* di dalam pohon yang asli dengan *children* di dalam pohon selanjutnya. Sebagai contoh, menambahkan `key` pada contoh tidak efisien kita diatas dapat membuat konversi pohon efisien:
116116

117117
```xml
118118
<ul>
@@ -127,21 +127,21 @@ Untuk mengatasi masalah ini, React mendukung atribut `key`. Saat *children* memi
127127
</ul>
128128
```
129129

130-
Sekarang React tahu bahwa elemen dengan kunci `'2014'` adalah yang baru, dan elemen dengan kunci `'2015'` dan `'2016'` telah dipindahkan.
130+
Sekarang React tahu bahwa elemen dengan *key* `'2014'` adalah yang baru, dan elemen dengan *key* `'2015'` dan `'2016'` telah dipindahkan.
131131

132-
Dalam prakteknya, menemukan sebuah kunci biasanya tidak sulit. Elemen yang akan Anda tampilkan mungkin sudah memiliki ID yang unik, jadi kuncinya bisa saja berasal dari data Anda:
132+
Dalam prakteknya, menemukan sebuah *key* biasanya tidak sulit. Elemen yang akan Anda tampilkan mungkin sudah memiliki ID yang unik, jadi *key*-nya bisa saja berasal dari data Anda:
133133

134134
```js
135135
<li key={item.id}>{item.name}</li>
136136
```
137137

138-
Saat itu bukan kasusnya, Anda dapat menambahkan properti ID baru pada model Anda atau *hash* beberapa bagian dari konten untuk menghasilkan sebuah kunci. Kunci hanya harus unik antar *sibling*, bukan unik secara global.
138+
Saat itu bukan kasusnya, Anda dapat menambahkan properti ID baru pada model Anda atau *hash* beberapa bagian dari konten untuk menghasilkan sebuah *key*. *Key* hanya harus unik antar *sibling*, bukan unik secara global.
139139

140-
Sebagai pilihan terakhir, Anda dapat mengoper sebuah indeks *item* dalam senarai (*array*) sebagai kunci. Ini dapat bekerja dengan baik jika *item-item* tidak pernah diurutkan kembali, tetapi pengurutan kembali akan menjadi lambat.
140+
Sebagai pilihan terakhir, Anda dapat mengoper sebuah indeks *item* dalam senarai (*array*) sebagai *key*. Ini dapat bekerja dengan baik jika *item-item* tidak pernah diurutkan kembali, tetapi pengurutan kembali akan menjadi lambat.
141141

142-
Pengurutan kembali juga dapat menyebabkan masalah dengan *state* komponen saat indeks digunakan sebagai kunci. *Instance* komponen diperbarui dan digunakan kembali berdasarkan kuncinya. Jika kunci adalah indeks, memindahkan sebuah *item* akan mengubahnya. Sebagai hasil, *state* komponen untuk hal seperti *uncontrolled input* dapat tercampur dan diperbarui dengan cara yang tidak terduga.
142+
Pengurutan kembali juga dapat menyebabkan masalah dengan *state* komponen saat indeks digunakan sebagai *key*. *Instance* komponen diperbarui dan digunakan kembali berdasarkan *key*-nya. Jika *key* adalah indeks, memindahkan sebuah *item* akan mengubahnya. Sebagai hasil, *state* komponen untuk hal seperti *uncontrolled input* dapat tercampur dan diperbarui dengan cara yang tidak terduga.
143143

144-
[Disini](codepen://reconciliation/index-used-as-key) adalah contoh masalah yang dapat disebabkan oleh penggunaan indeks sebagai kunci pada CodePen, dan [disini](codepen://reconciliation/no-index-used-as-key) adalah versi terbaru dari contoh yang sama menunjukan bagaimana agar tidak menggunakan indeks sebagai kunci akan memperbaiki pengurutan kembali, penyortiran, dan masalah yang saling terkait ini.
144+
[Disini](codepen://reconciliation/index-used-as-key) adalah contoh masalah yang dapat disebabkan oleh penggunaan indeks sebagai *key* pada CodePen, dan [disini](codepen://reconciliation/no-index-used-as-key) adalah versi terbaru dari contoh yang sama menunjukan bagaimana agar tidak menggunakan indeks sebagai *key* akan memperbaiki pengurutan kembali, penyortiran, dan masalah yang saling terkait ini.
145145

146146
## Pengorbanan {#tradeoffs}
147147

@@ -153,4 +153,4 @@ Karena React bergantung pada heuristik, jika asumsi dibelakang mereka tidak terp
153153

154154
1. Algoritma tidak akan mencoba untuk mencocokan sub-pohon dari jenis komponen yang berbeda. Jika Anda melihat diri Anda sendiri bergantian antara dua jenis komponen dengan keluaran yang sangat mirip, Anda mungkin ingin untuk membuatnya menjadi jenis yang sama. Dalam prakteknya, Kita belum menemukan ini sebagai masalah.
155155

156-
2. Kunci harus stabil, dapat diprediksi, dan unik. Kunci yang tidak stabil (seperti yang diproduksi oleh `Math.random()`) akan menyebabkan banyak *instance* komponen dan node DOM tidak perlu diciptakan kembali, yang dapat menyebabkan penurunan kinerja dan *state* hilang dalam komponen *child*.
156+
2. *Key* harus stabil, dapat diprediksi, dan unik. *Key* yang tidak stabil (seperti yang diproduksi oleh `Math.random()`) akan menyebabkan banyak *instance* komponen dan node DOM tidak perlu diciptakan kembali, yang dapat menyebabkan penurunan kinerja dan *state* hilang dalam komponen *child*.

0 commit comments

Comments
 (0)