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: src/content/reference/react/hooks.md
+17-17Lines changed: 17 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
---
2
-
title: "내장된 React Hook"
2
+
title: "내장 React Hook"
3
3
---
4
4
5
5
<Intro>
@@ -12,12 +12,12 @@ title: "내장된 React Hook"
12
12
13
13
## State Hooks {/*state-hooks*/}
14
14
15
-
*State*를 통해 컴포넌트는 [사용자 입력과 같은 정보를 "기억"할 수 있습니다.](/learn/state-a-components-memory) 예를 들어, 폼 컴포넌트는 state를 사용하여 입력값을 저장할 수 있고, 이미지 갤러리 컴포넌트는 state를 사용하여 선택한 이미지 인덱스를 저장할 수 있습니다.
15
+
*State*를 통해 컴포넌트는 [사용자 입력과 같은 정보를 "기억"할 수 있습니다.](/learn/state-a-components-memory) 예를 들어, 폼 컴포넌트는 State를 사용하여 입력값을 저장할 수 있고, 이미지 갤러리 컴포넌트는 State를 사용하여 선택한 이미지 인덱스를 저장할 수 있습니다.
16
16
17
-
컴포넌트에 state를 추가하려면, 다음 Hook 중 하나를 사용하세요.
17
+
컴포넌트에 State를 추가하려면, 다음 Hook 중 하나를 사용하세요.
18
18
19
-
*[`useState`](/reference/react/useState)는 직접 업데이트할 수 있는 state 변수를 선언합니다.
20
-
*[`useReducer`](/reference/react/useReducer)는 [reducer 함수](/learn/extracting-state-logic-into-a-reducer) 내부의 업데이트 로직을 사용하여 state 변수를 선언합니다.
19
+
*[`useState`](/reference/react/useState)는 직접 업데이트할 수 있는 State 변수를 선언합니다.
20
+
*[`useReducer`](/reference/react/useReducer)는 [Reducer 함수](/learn/extracting-state-logic-into-a-reducer) 내부의 업데이트 로직을 사용하여 State 변수를 선언합니다.
21
21
22
22
```js
23
23
functionImageGallery() {
@@ -29,9 +29,9 @@ function ImageGallery() {
29
29
30
30
## Context Hooks {/*context-hooks*/}
31
31
32
-
*Context*를 사용하면 컴포넌트가 [멀리 있는 부모 컴포넌트로부터 props로 전달하지 않으면서 정보를 받을 수 있습니다.](/learn/passing-props-to-a-component) 예를 들어, 애플리케이션의 최상위 컴포넌트는 현재 UI 테마를 아래의 모든 컴포넌트에 깊이와 상관없이 전달할 수 있습니다.
32
+
*Context*는 컴포넌트가 [Props를 전달하지 않고도 멀리 있는 부모 컴포넌트로부터 정보를 받을 수 있게 해줍니다.](/learn/passing-props-to-a-component) 예를 들어, 애플리케이션의 최상위 컴포넌트는 현재 UI 테마를 아래의 모든 컴포넌트에 깊이와 상관없이 전달할 수 있습니다.
33
33
34
-
* [`useContext`](/reference/react/useContext)는 context를 읽고 구독합니다.
34
+
* [`useContext`](/reference/react/useContext)는 Context를 읽고 구독합니다.
35
35
36
36
```js
37
37
functionButton() {
@@ -43,10 +43,10 @@ function Button() {
43
43
44
44
## Ref Hooks {/*ref-hooks*/}
45
45
46
-
*Ref*를 사용하면 컴포넌트가 DOM 노드나 timeout ID와 같이 [렌더링에 사용되지 않는 일부 정보를 보유할 수 있습니다.](/learn/referencing-values-with-refs) state와 달리, ref를 업데이트해도 컴포넌트가 다시 렌더링 되지 않습니다. Ref는 React 패러다임의 "탈출구"입니다. 내장된 브라우저 API와 같이, React가 아닌 시스템으로 작업해야 할 때 유용합니다.
46
+
*Ref*를 사용하면 컴포넌트가 DOM 노드나 Timeout ID와 같이 [렌더링에 사용되지 않는 일부 정보를 보유할 수 있습니다.](/learn/referencing-values-with-refs) State와 달리, Ref는 업데이트를 해도 컴포넌트가 다시 렌더링 되지 않습니다. Ref는 React 패러다임의 "탈출구"입니다. 내장된 브라우저 API와 같이, React가 아닌 시스템으로 작업해야 할 때 유용합니다.
47
47
48
-
* [`useRef`](/reference/react/useRef)는 ref를 선언합니다. 여기에는 어떤 값이라도 담을 수 있지만, 대부분 DOM 노드를 담는 데 사용됩니다.
49
-
* [`useImperativeHandle`](/reference/react/useImperativeHandle)을 사용하면 컴포넌트에 노출되는 ref를 커스텀할 수 있습니다. 이는 드물게 사용됩니다.
48
+
* [`useRef`](/reference/react/useRef)는 Ref를 선언합니다. 여기에는 어떤 값이라도 담을 수 있지만, 대부분 DOM 노드를 담는 데 사용됩니다.
49
+
* [`useImperativeHandle`](/reference/react/useImperativeHandle)을 사용하면 컴포넌트에 노출되는 Ref를 커스텀할 수 있습니다. 이는 드물게 사용됩니다.
50
50
51
51
```js
52
52
functionForm() {
@@ -58,7 +58,7 @@ function Form() {
58
58
59
59
## Effect Hooks {/*effect-hooks*/}
60
60
61
-
*Effects*를 통해 컴포넌트를 [외부 시스템에 연결하고 동기화할 수 있습니다.](/learn/synchronizing-with-effects) 여기에는 네트워크, 브라우저 DOM, 애니메이션, 다른 UI 라이브러리를 사용하여 작성된 위젯, 기타 React가 아닌 코드를 다루는 것이 포함됩니다.
61
+
*Effect*를 통해 컴포넌트를 [외부 시스템에 연결하고 동기화할 수 있습니다.](/learn/synchronizing-with-effects) 여기에는 네트워크, 브라우저 DOM, 애니메이션, 다른 UI 라이브러리를 사용하여 작성된 위젯, 기타 React가 아닌 코드를 다루는 것이 포함됩니다.
62
62
63
63
* [`useEffect`](/reference/react/useEffect)는 컴포넌트를 외부 시스템에 연결합니다.
64
64
@@ -74,7 +74,7 @@ function ChatRoom({ roomId }) {
74
74
75
75
Effect는 React 패러다임의 "탈출구"입니다. 애플리케이션의 데이터 흐름을 조정하기 위해 Effect를 쓰지 마세요. 외부 시스템과 상호작용하지 않는다면, [Effect가 필요하지 않을 수도 있습니다.](/learn/you-might-not-need-an-effect)
76
76
77
-
`useEffect`에는 타이밍 차이가 있지만 거의 사용되지 않는 두 가지 변형이 있습니다.
77
+
타이밍에서 차이가 있는 `useEffect`의 두 가지 드물게 사용되는 변형이 있습니다.
78
78
79
79
* [`useLayoutEffect`](/reference/react/useLayoutEffect)는 브라우저가 화면을 다시 그리기 전에 실행됩니다. 여기에서 레이아웃을 계산할 수 있습니다.
80
80
* [`useInsertionEffect`](/reference/react/useInsertionEffect)는 React가 DOM을 변경하기 전에 실행됩니다. 라이브러리는 여기에 동적 CSS를 삽입할 수 있습니다.
화면을 실제로 업데이트해야 하므로 재렌더링을 건너뛸 수 없는 경우도 있습니다. 이 경우, 동기식이어야 하는 blocking 업데이트(예: input에 입력)와 사용자 인터페이스를 차단할 필요가 없는 non-blocking 업데이트(예: 차트 업데이트)를 분리하여 성능을 향상시킬 수 있습니다.
100
+
화면을 실제로 업데이트해야 하므로 재렌더링을 건너뛸 수 없는 경우도 있습니다. 이 경우, 동기식이어야 하는 Blocking 업데이트(예: Input에 입력)와 사용자 인터페이스를 차단할 필요가 없는 Non-Blocking 업데이트(예: 차트 업데이트)를 분리하여 성능을 향상시킬 수 있습니다.
101
101
102
102
렌더링 우선순위를 지정하려면, 다음 Hook 중 하나를 사용하세요.
103
103
104
-
- [`useTransition`](/reference/react/useTransition)을 사용하면 state 전환을 non-blocking으로 표시하고, 다른 업데이트가 이를 중단하도록 허용할 수 있습니다.
105
-
- [`useDeferredValue`](/reference/react/useDeferredValue)를 사용하면 UI의 중요하지 않은 부분에 대한 업데이트를 연기하고, 다른 부분이 먼저 업데이트되도록 할 수 있습니다.
104
+
- [`useTransition`](/reference/react/useTransition)을 사용하면 State 전환을 Non-Blocking으로 표시하고, 다른 업데이트가 이를 중단하도록 허용할 수 있습니다.
105
+
- [`useDeferredValue`](/reference/react/useDeferredValue)를 사용하면 UI의 중요하지 않은 부분에 대한 업데이트를 지연하고, 다른 부분이 먼저 업데이트되도록 할 수 있습니다.
106
106
107
107
---
108
108
109
109
## Other Hooks {/*other-hooks*/}
110
110
111
111
다음 Hook은 대부분 라이브러리 작성자에게 유용하며 애플리케이션 코드에서는 일반적으로 사용되지 않습니다.
112
112
113
-
- [`useDebugValue`](/reference/react/useDebugValue)를 사용하면 커스텀 Hook에 대해 React DevTools에 표시해 주는 레이블을 커스텀할 수 있습니다.
113
+
- [`useDebugValue`](/reference/react/useDebugValue)를 사용하면 커스텀 Hook에 대해 React 개발자 도구에 표시하는 레이블을 커스텀할 수 있습니다.
114
114
- [`useId`](/reference/react/useId)를 사용하면 컴포넌트가 고유 ID를 자신과 연결할 수 있습니다. 일반적으로 접근성 API와 함께 사용됩니다.
115
115
- [`useSyncExternalStore`](/reference/react/useSyncExternalStore)를 사용하면 컴포넌트가 외부 저장소를 구독할 수 있습니다.
116
-
* [`useActionState`](/reference/react/useActionState)를 사용하면 액션을 통해 상태를 관리할 수 있습니다.
116
+
* [`useActionState`](/reference/react/useActionState)를 사용하면 액션을 통해 State를 관리할 수 있습니다.
0 commit comments