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/fragments.md
+20-20
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ title: Fragments
4
4
permalink: docs/fragments.html
5
5
---
6
6
7
-
A common pattern in React is for a component to return multiple elements. Fragments let you group a list of children without adding extra nodes to the DOM.
7
+
React에서 컴포넌트가 여러 엘리먼트를 반환하는 것은 흔한 패턴입니다. Fragments는 DOM에 별도의 노드를 추가하지 않고 여러 자식을 그룹화할 수 있습니다.
8
8
9
9
```js
10
10
render() {
@@ -16,13 +16,13 @@ render() {
16
16
</React.Fragment>
17
17
);
18
18
}
19
-
```
19
+
```
20
20
21
-
There is also a new [short syntax](#short-syntax) for declaring them, but it isn't supported by all popular tools yet.
21
+
이를 선언하는 새로운 [단축 문법](#short-syntax)이 있습니다. 하지만 아직 모든 인기 있는 도구에서 전부 지원하지는 않습니다.
22
22
23
-
## Motivation {#motivation}
23
+
## 동기 {#motivation}
24
24
25
-
A common pattern is for a component to return a list of children. Take this example React snippet:
25
+
컴포넌트가 여러 자식을 반환하는 것은 흔한 패턴입니다. 다음 React 예시를 보세요.
26
26
27
27
```jsx
28
28
classTableextendsReact.Component {
@@ -38,7 +38,7 @@ class Table extends React.Component {
38
38
}
39
39
```
40
40
41
-
`<Columns />` would need to return multiple `<td>`elements in order for the rendered HTML to be valid. If a parent div was used inside the `render()`of `<Columns />`, then the resulting HTML will be invalid.
41
+
렌더링 된 HTML이 유효하려면 `<Columns />`가 여러 `<td>`엘리먼트만 반환해야 합니다. `<Columns />`의 `render()`안에 부모 div로 자식들을 감싼다면 렌더링 된 HTML은 유효하지 않습니다.
42
42
43
43
```jsx
44
44
classColumnsextendsReact.Component {
@@ -53,7 +53,7 @@ class Columns extends React.Component {
53
53
}
54
54
```
55
55
56
-
results in a `<Table />` output of:
56
+
`<Table />`의 출력 결과는 다음과 같습니다.
57
57
58
58
```jsx
59
59
<table>
@@ -66,9 +66,9 @@ results in a `<Table />` output of:
66
66
</table>
67
67
```
68
68
69
-
Fragments solve this problem.
69
+
Fragments는 이 문제를 해결해줍니다.
70
70
71
-
## Usage {#usage}
71
+
## 사용법 {#usage}
72
72
73
73
```jsx{4,7}
74
74
class Columns extends React.Component {
@@ -83,7 +83,7 @@ class Columns extends React.Component {
83
83
}
84
84
```
85
85
86
-
which results in a correct `<Table />` output of:
86
+
올바른 `<Table />`의 출력 결과는 아래와 같습니다.
87
87
88
88
```jsx
89
89
<table>
@@ -94,9 +94,9 @@ which results in a correct `<Table />` output of:
94
94
</table>
95
95
```
96
96
97
-
### Short Syntax {#short-syntax}
97
+
### 단축 문법 {#short-syntax}
98
98
99
-
There is a new, shorter syntax you can use for declaring fragments. It looks like empty tags:
99
+
Fragments를 선언하는 더 짧고 새로운 문법이 있습니다. 마치 빈 태그와 같습니다.
100
100
101
101
```jsx{4,7}
102
102
class Columns extends React.Component {
@@ -111,20 +111,20 @@ class Columns extends React.Component {
111
111
}
112
112
```
113
113
114
-
You can use `<></>` the same way you'd use any other element except that it doesn't support keys or attributes.
114
+
`key` 또는 어트리뷰트를 지원하지 않는다는 것을 빼고 다른 엘리먼트처럼 `<></>`을 사용할 수 있습니다.
115
115
116
-
Note that **[many tools don't support it yet](/blog/2017/11/28/react-v16.2.0-fragment-support.html#support-for-fragment-syntax)**so you might want to explicitly write `<React.Fragment>` until the tooling catches up.
116
+
주의: **[아직 많은 도구에서 이 단축 문법이 지원이 안 되기 때문에](/blog/2017/11/28/react-v16.2.0-fragment-support.html#support-for-fragment-syntax)**그전까지는 명시적으로 `<React.Fragmemt>`를 사용해야 하는 것에 주의해야 합니다.
117
117
118
-
### Keyed Fragments {#keyed-fragments}
118
+
### key가 있는 Fragments {#keyed-fragments}
119
119
120
-
Fragments declared with the explicit `<React.Fragment>`syntax may have keys. A use case for this is mapping a collection to an array of fragments -- for example, to create a description list:
120
+
Fragments에 `key`가 있다면 `<React.Fragment>`문법으로 명시적으로 선언해야 합니다. 예를 들어 정의 목록을 만들기 위해 컬렉션을 fragments 배열로 매핑하는 사용 사례입니다.
121
121
122
122
```jsx
123
123
functionGlossary(props) {
124
124
return (
125
125
<dl>
126
126
{props.items.map(item=> (
127
-
//Without the `key`, React will fire a key warning
127
+
//React는 `key`가 없으면 key warning을 발생합니다.
128
128
<React.Fragment key={item.id}>
129
129
<dt>{item.term}</dt>
130
130
<dd>{item.description}</dd>
@@ -135,8 +135,8 @@ function Glossary(props) {
135
135
}
136
136
```
137
137
138
-
`key` is the only attribute that can be passed to `Fragment`. In the future, we may add support for additional attributes, such as event handlers.
138
+
`key`는 `Fragment`에 전달할 수 있는 유일한 어트리뷰트입니다. 추후 이벤트 핸들러와 같은 추가적인 어트리뷰트를 지원할 수도 있습니다.
139
139
140
-
### Live Demo {#live-demo}
140
+
### 라이브 데모 {#live-demo}
141
141
142
-
You can try out the new JSX fragment syntax with this [CodePen](https://codepen.io/reactjs/pen/VrEbjE?editors=1000).
142
+
[CodePen](https://codepen.io/reactjs/pen/VrEbjE?editors=1000)에서 새로운 JSX fragment 문법을 사용해 볼 수 있습니다.
0 commit comments