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
+29-29
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: 조건부 렌더링
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
+
React에서는 원하는 동작을 캡슐화하는 컴포넌트를 만들 수 있습니다. 이렇게 하면 애플리케이션의 상태에 따라서 컴포넌트 중 몇 개만을 렌더링할 수 있습니다.
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
+
React에서 조건부 렌더링은 JavaScript에서의 조건 처리와 같이 동작합니다. [`if`](https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Statements/if...else)나 [`조건부 연산자`](https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/Conditional_Operator)와 같은 JavaScript 연산자를 현재 상태를 나타내는 엘리먼트를 만드는 데에 사용하세요. 그러면 React는 현재 상태에 맞게 UI를 업데이트할 것입니다.
14
14
15
-
Consider these two components:
15
+
아래 두 컴포넌트가 있다고 가정해 봅시다.
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
+
이제 사용자의 로그인 상태에 맞게 위 컴포넌트 중 하나를 보여주는 `Greeting` 컴포넌트를 만듭니다,
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)
This example renders a different greeting depending on the value of `isLoggedIn` prop.
47
+
이 예시는 `isLoggedIn` prop에 따라서 다른 인사말을 렌더링 합니다.
48
48
49
-
### Element Variables {#element-variables}
49
+
### 엘리먼트 변수 {#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
+
엘리먼트를 저장하기 위해 변수를 사용할 수 있습니다. 출력의 다른 부분은 변하지 않은 채로 컴포넌트의 일부를 조건부로 렌더링 할 수 있습니다.
52
52
53
-
Consider these two new components representing Logout and Login buttons:
53
+
로그아웃과 로그인 버튼을 나타내는 두 컴포넌트가 있다고 가정해 보세요.
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
+
아래의 예시에서는 `LoginControl`이라는 [유상태 컴포넌트](/docs/state-and-lifecycle.html#adding-local-state-to-a-class)를 만들 것입니다.
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
+
이 컴포넌트는 현재 상태에 맞게 `<LoginButton />`이나 `<LogoutButton />`을 렌더링합니다. 또한 이전 예시에서의 `<Greeting />`도 함께 렌더링합니다.
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)
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
+
변수를 선언하고 `if`를 사용해서 조건부로 렌더링 하는 것은 좋은 방법이지만 더 짧은 구문을 사용하고 싶을 때가 있을 수 있습니다. 여러 조건을 JSX 안에서 인라인(inline)으로 처리할 방법 몇 가지를 아래에서 소개하겠습니다.
122
122
123
-
### Inline If with Logical && Operator {#inline-if-with-logical--operator}
123
+
### 논리 && 연산자로 If를 인라인으로 표현하기{#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
+
JSX 안에는 중괄호를 이용해서 [표현식을 포함](/docs/introducing-jsx.html#embedding-expressions-in-jsx)할 수 있습니다. 그 안에 JavaScript의 논리 연산자`&&`를 사용하면 쉽게 엘리먼트를 조건부로 넣을 수 있습니다.
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)
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
+
엘리먼트를 조건부로 렌더링하는 다른 방법은 조건부 연산자인 [`condition ? true: false`](https://developer.mozilla.org/ko/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
+
아래의 예시에서는 짧은 구문을 조건부로 렌더링합니다.
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
+
가독성은 좀 떨어지지만, 더 큰 표현식에도 이 구문을 사용할 수 있습니다.
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
+
JavaScript와 마찬가지로, 가독성이 좋다고 생각하는 방식을 선택하면 됩니다. 또한 조건이 너무 복잡하다면 [컴포넌트를 분리](/docs/components-and-props.html#extracting-components)하기 좋을 때 일 수도 있다는 것을 기억하세요.
190
190
191
-
### Preventing Component from Rendering {#preventing-component-from-rendering}
191
+
### 컴포넌트가 렌더링하는 것을 막기 {#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
+
가끔 다른 컴포넌트에 의해 렌더링될 때 컴포넌트 자체를 숨기고 싶을 때가 있을 수 있습니다. 이때는 렌더링 결과를 출력하는 대신 `null`을 반환하면 해결할 수 있습니다.
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
+
아래의 예시에서는 `<WarningBanner />`가 `warn` prop의 값에 의해서 렌더링됩니다. prop이 `false`라면 컴포넌트는 렌더링하지 않게 됩니다.
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)
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
+
컴포넌트의 `render` 메서드로부터 `null`을 반환하는 것은 생명주기 메서드 호출에 영향을 주지 않습니다. 그 예로`componentDidUpdate`는 계속해서 호출되게 됩니다.
0 commit comments