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
Copy file name to clipboardExpand all lines: content/docs/conditional-rendering.md
+28-28Lines changed: 28 additions & 28 deletions
Original file line number
Diff line number
Diff line change
@@ -1,18 +1,18 @@
1
1
---
2
2
id: conditional-rendering
3
-
title: Conditional Rendering
3
+
title: Render Bersyarat
4
4
permalink: docs/conditional-rendering.html
5
5
prev: handling-events.html
6
6
next: lists-and-keys.html
7
7
redirect_from:
8
8
- "tips/false-in-jsx.html"
9
9
---
10
10
11
-
In React, you can create distinct components that encapsulate behavior you need. Then, you can render only some of them, depending on the state of your application.
11
+
Pada React, Anda dapat membuat komponen berbeda yang mencakup perilaku yang dibutuhkan. Lalu, Anda dapat me-*render* hanya beberapa bagian saja, berdasarkan _state_ dari aplikasi Anda.
12
12
13
-
Conditional rendering in React works the same way conditions work in JavaScript. Use JavaScript operators like[`if`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/if...else)or the [conditional operator](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Conditional_Operator)to create elements representing the current state, and let React update the UI to match them.
13
+
Render Bersyarat pada React berfungsi sama halnya dengan operator bersyarat pada Javascript. Gunakan JavaScript operator seperti[`if`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/if...else)atau [operator bersyarat](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Conditional_Operator)untuk membuat representasi elemen dari _state_ saat ini, dan React akan memperbarui UI sesuai dengan _state_ tersebut.
14
14
15
-
Consider these two components:
15
+
Perhatikan dua komponen ini:
16
16
17
17
```js
18
18
functionUserGreeting(props) {
@@ -24,7 +24,7 @@ function GuestGreeting(props) {
24
24
}
25
25
```
26
26
27
-
We'll create a `Greeting`component that displays either of these components depending on whether a user is logged in:
27
+
Kita akan membuat komponen `Greeting`yang menampilkan salah satu dari dua komponen diatas berdasarkan pada apakah pengguna telah login:
28
28
29
29
```javascript{3-7,11,12}
30
30
function Greeting(props) {
@@ -42,15 +42,15 @@ ReactDOM.render(
42
42
);
43
43
```
44
44
45
-
[**Try it on CodePen**](https://codepen.io/gaearon/pen/ZpVxNq?editors=0011)
45
+
[**Coba di CodePen**](https://codepen.io/gaearon/pen/ZpVxNq?editors=0011)
46
46
47
-
This example renders a different greeting depending on the value of`isLoggedIn` prop.
47
+
Contoh di atas me-*render* komponen greeting yang berbeda berdasarkan nilai *prop*`isLoggedIn`.
48
48
49
-
### Element Variables {#element-variables}
49
+
### Variabel Elemen {#element-variables}
50
50
51
-
You can use variables to store elements. This can help you conditionally render a part of the component while the rest of the output doesn't change.
51
+
Anda dapat memakai variabel untuk menyimpan element. Hal ini akan membantu anda me-*render* beberapa bagian pada komponen secara kondisional sementara output lainnya tidak berubah.
52
52
53
-
Consider these two new components representing Logout and Login buttons:
53
+
Perhatikan dua komponen baru yang merepresentasikan tombol Logout dan Login:
54
54
55
55
```js
56
56
functionLoginButton(props) {
@@ -70,9 +70,9 @@ function LogoutButton(props) {
70
70
}
71
71
```
72
72
73
-
In the example below, we will create a [stateful component](/docs/state-and-lifecycle.html#adding-local-state-to-a-class) called`LoginControl`.
73
+
Pada contoh dibawah, kita akan membuat sebuah [komponen _stateful_](/docs/state-and-lifecycle.html#adding-local-state-to-a-class)`LoginControl`.
74
74
75
-
It will render either `<LoginButton />`or`<LogoutButton />`depending on its current state. It will also render a `<Greeting />`from the previous example:
75
+
Komponen `LoginControl` akan me-*render* salah satu dari `<LoginButton />`atau`<LogoutButton />`berdasarkan _state_ saat ini. Komponen `LoginControl` juga akan me-*render*`<Greeting />`dari contoh sebelumnya:
76
76
77
77
```javascript{20-25,29,30}
78
78
class LoginControl extends React.Component {
@@ -116,13 +116,13 @@ ReactDOM.render(
116
116
);
117
117
```
118
118
119
-
[**Try it on CodePen**](https://codepen.io/gaearon/pen/QKzAgB?editors=0010)
119
+
[**Coba di CodePen**](https://codepen.io/gaearon/pen/QKzAgB?editors=0010)
120
120
121
-
While declaring a variable and using an `if`statement is a fine way to conditionally render a component, sometimes you might want to use a shorter syntax. There are a few ways to inline conditions in JSX, explained below.
121
+
Saat mendeklarasikan sebuah variabel dan menggunakan statement `if`merupakan cara yang baik me-*render* komponen secara kondisional, terkadang Anda mungkin ingin memakai sintaksis pendek. Ada beberapa cara _inline_ bersyarat pada JSX, dijelaskan dibawah.
122
122
123
-
### Inline If with Logical && Operator {#inline-if-with-logical--operator}
123
+
### Inline If dengan Operator Logis && {#inline-if-with-logical--operator}
124
124
125
-
You may [embed any expressions in JSX](/docs/introducing-jsx.html#embedding-expressions-in-jsx)by wrapping them in curly braces. This includes the JavaScript logical `&&` operator. It can be handy for conditionally including an element:
125
+
Anda dapat [menyisipkan ekspresi apapun pada JSX](/docs/introducing-jsx.html#embedding-expressions-in-jsx)dengan cara membungkusnya ke dalam kurung kurawal. Juga memasukan operator logis `&&`. Kurung kurawal dapat berguna untuk memasukan elemen secara kondisional:
126
126
127
127
```js{6-10}
128
128
function Mailbox(props) {
@@ -146,17 +146,17 @@ ReactDOM.render(
146
146
);
147
147
```
148
148
149
-
[**Try it on CodePen**](https://codepen.io/gaearon/pen/ozJddz?editors=0010)
149
+
[**Coba di CodePen**](https://codepen.io/gaearon/pen/ozJddz?editors=0010)
150
150
151
-
It works because in JavaScript, `true && expression`always evaluates to `expression`, and`false && expression`always evaluates to`false`.
151
+
Ekspresi diatas akan bekerja karena dalam JavaScript, `true && expression`selalu mengevaluasi `true`, dan`false && expression`selalu mengevaluasi`false`.
152
152
153
-
Therefore, if the condition is`true`, the element right after `&&`will appear in the output. If it is `false`, React will ignore and skip it.
153
+
Maka dari itu, jika kondisi`true`, elemen tepat setelah `&&`akan muncul pada _output_. jika `false`, React akan mengabaikannya.
154
154
155
155
### Inline If-Else with Conditional Operator {#inline-if-else-with-conditional-operator}
156
156
157
-
Another method for conditionally rendering elements inline is to use the JavaScript conditional operator[`condition ? true : false`](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Conditional_Operator).
157
+
Metode lain untuk me-*render*_inline_ elemen secara kondisional ialah menggunakan operator kondisional JavaScript[`condition ? true : false`](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Conditional_Operator).
158
158
159
-
In the example below, we use it to conditionally render a small block of text.
159
+
Pada contoh di bawah, kita menggunakan untuk me-*render* sebagian kecil dari teks secara kondisional.
160
160
161
161
```javascript{5}
162
162
render() {
@@ -169,7 +169,7 @@ render() {
169
169
}
170
170
```
171
171
172
-
It can also be used for larger expressions although it is less obvious what's going on:
172
+
Ekspresi diatas juga dapat digunakan untuk ekspresi yang lebih besar meski terlihat kurang jelas apa yang terjadi:
173
173
174
174
```js{5,7,9}
175
175
render() {
@@ -186,13 +186,13 @@ render() {
186
186
}
187
187
```
188
188
189
-
Just like in JavaScript, it is up to you to choose an appropriate style based on what you and your team consider more readable. Also remember that whenever conditions become too complex, it might be a good time to [extract a component](/docs/components-and-props.html#extracting-components).
189
+
Seperti pada Javascript, Terserah pada Anda untuk memilih gaya yang sesuai dengan apa yang Anda dan tim Anda rasa lebih mudah untuk dibaca. Diingat juga bahwa saat kondisi menjadi terlalu kompleks, mungkin saat tepat untuk [mengekstark sebuah komponen](/docs/components-and-props.html#extracting-components).
190
190
191
-
### Preventing Component from Rendering {#preventing-component-from-rendering}
191
+
### Mencegah Komponen dari Rendering {#preventing-component-from-rendering}
192
192
193
-
In rare cases you might want a component to hide itself even though it was rendered by another component. To do this return`null`instead of its render output.
193
+
Pada kasus yang jarang terjadi, Anda mungkin ingin komponen menyembunyikan dirinya sendiri meskipun komponen itu di-*render* oleh komponen lain. Untuk melakukan ini, kembalikan`null`melainkan hasil output `render`.
194
194
195
-
In the example below, the `<WarningBanner />`is rendered depending on the value of the prop called `warn`. If the value of the prop is `false`, then the component does not render:
195
+
Pada contoh dibawah, `<WarningBanner />`di-*render* berdasarkan nilai dari _prop_ yang bernama `warn`. Jika nilai dari _prop_`false`, maka komponen tidak di-*render*.
196
196
197
197
```javascript{2-4,29}
198
198
function WarningBanner(props) {
@@ -238,6 +238,6 @@ ReactDOM.render(
238
238
);
239
239
```
240
240
241
-
[**Try it on CodePen**](https://codepen.io/gaearon/pen/Xjoqwm?editors=0010)
241
+
[**Coba di CodePen**](https://codepen.io/gaearon/pen/Xjoqwm?editors=0010)
242
242
243
-
Returning`null`from a component's `render`method does not affect the firing of the component's lifecycle methods. For instance `componentDidUpdate`will still be called.
243
+
Mengembalikan`null`dari metode `render`pada komponen tidak akan berdampak pada kerja metode siklus hidup komponen. Contohnya `componentDidUpdate`akan tetap dijalankan.
0 commit comments