Skip to content

Commit 0df661a

Browse files
docs: fix grammer
1 parent f720a82 commit 0df661a

File tree

3 files changed

+20
-17
lines changed

3 files changed

+20
-17
lines changed

src/content/reference/react/addTransitionType.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ version: experimental
2121

2222
`unstable_addTransitionType`를 사용하면 트랜지션이 발생한 원인을 상세히 나타낼 수 있습니다.
2323

24+
2425
```js
2526
startTransition(() => {
2627
unstable_addTransitionType('my-transition-type');
@@ -57,9 +58,9 @@ startTransition(() => {
5758

5859
### 트랜지션의 원인 추가하기 {/*adding-the-cause-of-a-transition*/}
5960

60-
`startTransition` 내부에서 `addTransitionType`호출해 트랜지션의 원인을 나타냅니다.
61+
트랜지션의 원인을 나타내기 위해 `startTransition` 내부에서 `addTransitionType`호출합니다
6162

62-
```
63+
``` [[1, 6, "unstable_addTransitionType"], [2, 5, "startTransition", [3, 6, "'submit-click'"]]
6364
import { startTransition, unstable_addTransitionType } from 'react';
6465
6566
function Submit({action) {
@@ -78,6 +79,7 @@ function Submit({action) {
7879
<CodeStep step={1}>addTransitionType</CodeStep>을 <CodeStep step={2}>startTransition</CodeStep>의 범위 내에서 호출하면, React는 해당 트랜지션에 <CodeStep step={3}>submit-click</CodeStep>을 원인으로 연결합니다.
7980

8081
현재 트랜지션 타입은 원인에 따라 서로 다른 애니메이션을 커스터마이즈하는 데 사용할 수 있습니다. 사용할 수 있는 방식은 세 가지입니다:
82+
8183
- [브라우저 view transition 타입으로 애니메이션 커스텀하기](#customize-animations-using-browser-view-transition-types)
8284
- [`View Transition` 클래스로 애니메이션 커스텀하기](#customize-animations-using-view-transition-class)
8385
- [`ViewTransition`이벤트로 애니메이션 커스텀하기](#customize-animations-using-viewtransition-events)
@@ -120,7 +122,6 @@ startTransition(() => {
120122

121123
활성화된 ViewTransition에서 타입에 따라 애니메이션을 커스터마이즈하려면, View Transition 클래스에 객체를 전달하면 됩니다.
122124

123-
124125
```js
125126
function Component() {
126127
return (
@@ -139,7 +140,7 @@ startTransition(() => {
139140
});
140141
```
141142

142-
여러 타입이 매칭되면 값들이 결합되고, 매칭되는 타입이 없으면 "default" 엔트리가 사용됩니다. 만약 값이 "none"이면 ViewTransition이 비활성화되어 이름이 할당되지 않습니다.
143+
여러 타입이 매칭되면 값들이 결합됩니다. 매칭되는 타입이 없으면 "default" 엔트리가 사용됩니다. 어떤 타입이라도 값이 none이면 해당 값이 우선하며 ViewTransition은 비활성화되어(이름이 할당되지 않습니다).
143144

144145
이 방식은 enter/exit/update/layout/share props와 결합하여 트리거 종류와 트랜지션 타입에 따라 동작을 맞출 수 있습니다.
145146

@@ -171,6 +172,7 @@ View Transition 이벤트를 활용하여 타입에 따라 활성화된 `ViewTra
171172
}
172173
}}>
173174
```
175+
174176
이렇게 하면 원인에 따라 서로 다른 애니메이션을 선택할 수 있습니다.
175177

176178
---

src/content/reference/react/apis.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,7 @@ title: "내장 React API"
77
[Hook](/reference/react/hooks)[컴포넌트](/reference/react/components) 외에도 `react` 패키지는 컴포넌트를 정의하는데 유용한 몇 가지 API를 가지고 있습니다. 이 페이지는 최신 React API를 모두 나열합니다.
88

99
</Intro>
10-
1110
{/*React 영문 공식 문서에 반영되지 않은 내용 임의로 수정하여 반영하였습니다. `cache``use`에 대한 내용 설명을 제외하고 수정하지 말아주세요*/}
12-
1311
---
1412
* [`act`](/reference/react/act)를 통해 테스트에서 렌더링이나 상호작용을 감싸서 관련된 업데이트가 모두 처리된 뒤에 검증합니다.
1513
* [`cache`](/reference/react/cache)를 통해 가져온 데이터나 연산의 결과를 캐싱합니다.
@@ -18,6 +16,7 @@ title: "내장 React API"
1816
* [`lazy`](/reference/react/lazy)를 통해 컴포넌트가 처음 렌더링될 때까지 해당 컴포넌트의 코드를 로딩하는 것을 지연합니다.
1917
* [`memo`](/reference/react/memo)를 통해 동일한 props일 경우 컴포넌트가 다시 렌더링되지 않도록 최적화합니다. 주로 [`useMemo`](/reference/react/useMemo), [`useCallback`](/reference/react/useCallback)과 함께 사용됩니다.
2018
* [`startTransition`](/reference/react/startTransition)를 통해 상태 업데이트를 “덜 긴급한 작업”으로 표시하여 UI의 반응성을 유지합니다. [`useTransition`](/reference/react/useTransition)과 유사합니다.
19+
* [`use`](/reference/react/use)는 Promise나 Context와 같은 데이터를 참조하는 React Hook입니다.
2120
* [`taintObjectReference`](/reference/react/experimental_taintObjectReference)를 통해 `user` 객체와 같은 특정한 객체 인스턴스를 클라이언트 컴포넌트로 전송하는 것을 방지합니다.
2221
* [`taintUniqueValue`](/reference/react/experimental_taintUniqueValue)를 통해 패스워드, 키 또는 토큰과 같은 고유 값을 클라이언트 컴포넌트로 전송하는 것을 방지합니다.
2322
* [`addTransitionType`](/reference/react/addTransitionType)를 통해, 트랜지션이 발생한 원인을 상세히 나타냅니다.

src/content/reference/react/captureOwnerStack.md

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,10 @@ Owner Stacks은 다음 경우에 사용할 수 있습니다.
4545
- 컴포넌트 렌더링 시
4646
- 이펙트 (예: `useEffect`)
4747
- React 이벤트 핸들러 (예: `<button onClick={...} />`)
48-
- React 에러 핸들러 ([React 루트 옵션](/reference/react-dom/client/createRoot#parameters) `onCaughtError`, `onRecoverableError`, `onUncaughtError`)
48+
- React 오류 핸들러 ([React 루트 옵션](/reference/react-dom/client/createRoot#parameters) `onCaughtError`, `onRecoverableError`, `onUncaughtError`)
4949

5050
Owner Stack을 사용할 수 없는 경우, `null`이 반환됩니다. ([문제해결: Owner Stack이 `null`인 경우](#the-owner-stack-is-null))
51-
51+
3
5252
#### 주의 사항 {/*caveats*/}
5353

5454
- Owner Stack은 개발 환경에서만 사용할 수 있습니다. `captureOwnerStack`은 개발 환경 밖에서는 항상 `null`을 반환합니다.
@@ -57,7 +57,7 @@ Owner Stack을 사용할 수 없는 경우, `null`이 반환됩니다. ([문제
5757

5858
#### Owner Stack vs Component Stack {/*owner-stack-vs-component-stack*/}
5959

60-
Owner Stack은 [`errorInfo.componentStack` in `onUncaughtError`](/reference/react-dom/client/hydrateRoot#show-a-dialog-for-uncaught-errors)와 같은 리액트 에러 핸들러에서 사용할 수 있는 Component Stack과 다릅니다.
60+
Owner Stack은 [`errorInfo.componentStack` in `onUncaughtError`](/reference/react-dom/client/hydrateRoot#show-a-dialog-for-uncaught-errors)와 같은 리액트 오류 핸들러에서 사용할 수 있는 Component Stack과 다릅니다.
6161

6262
예를 들어 다음 코드를 살펴보겠습니다.
6363

@@ -136,7 +136,8 @@ createRoot(document.createElement('div'), {
136136

137137
</Sandpack>
138138

139-
`SubComponent`에서 에러가 날 때, 에러의 Component Stack은 다음과 같을 수 있습니다.
139+
`SubComponent`에서 오류가 날 수 있습니다.
140+
그 오류의 Component Stack은 다음과 같을 것입니다.
140141

141142
```
142143
at SubComponent
@@ -146,23 +147,24 @@ at main
146147
at React.Suspense
147148
at App
148149
```
149-
그러나 Owner Stack은 이렇게만 읽습니다.
150+
151+
그러나, Owner Stack에는 다음 내용만 나타납니다.
150152

151153
```
152154
at Component
153155
```
154156

155-
`App`이나 DOM 컴포넌트들(예: `fieldset`)은 이 스택에 포함되지 않습니다. 왜냐하면 이들은 `SubComponent`를 포함하는 노드를 "생성하는" 데에 기여하지 않기 때문입니다. `App`과 DOM 컴포넌트들은 노드를 전달할 뿐입니다. `App``<SubComponent />`를 통해 `SubComponent`를 포함한 노드를 생성하는 `Component`와 달리 `children` 노드만 렌더링합니다.
157+
`App` DOM 컴포넌트들(예: `fieldset`)은 `SubComponent`를 포함하는 노드를 "생성하는" 데에 기여하지 않기 때문 이 스택에 포함되지 않습니다. `App`과 DOM 컴포넌트들은 노드를 전달할 뿐입니다. `App``<SubComponent />`를 통해 `SubComponent`를 포함한 노드를 생성하는 `Component`와 달리 `children` 노드만 렌더링합니다.
156158

157-
또한, `Navigation`이나 `legend` `<SubComponent />`를 포함하는 노드의 형제가 아니기 때문에, 스택에 없습니다.
159+
`Navigation` `legend` `<SubComponent />`를 포함하는 노드의 형제 요소이기 때문에 스택에 전혀 포함되지 않습니다.
158160

159-
`SubComponent`는 이미 호출 스택에 포함되어 있어서 Owner Stack에 나오지 않습니다.
161+
`SubComponent`는 이미 호출 스택에 포함되어 있기 떄문에 Owner Stack에 나타나지 않습니다.
160162

161163
</DeepDive>
162164

163165
## 사용법 {/*usage*/}
164166

165-
### 커스텀 에러 오버레이 개선하기 {/*enhance-a-custom-error-overlay*/}
167+
### 커스텀 오류 오버레이 개선하기 {/*enhance-a-custom-error-overlay*/}
166168

167169
```js [[1, 5, "console.error"], [4, 7, "captureOwnerStack"]]
168170
import { captureOwnerStack } from "react";
@@ -181,7 +183,7 @@ console.error = function patchedConsoleError(...args) {
181183
};
182184
```
183185

184-
<CodeStep step={1}>`console.error`</CodeStep> 호출을 가로채서 에러 오버레이에 표시하고 싶다면, <CodeStep step={2}>`captureOwnerStack`</CodeStep>을 호출하여 `OwnerStack`을 포함할 수 있습니다.
186+
<CodeStep step={1}>`console.error`</CodeStep> 호출을 가로채서 오류 오버레이에 표시하고 싶다면, <CodeStep step={2}>`captureOwnerStack`</CodeStep>을 호출하여 `OwnerStack`을 포함할 수 있습니다.
185187

186188
<Sandpack>
187189

@@ -349,7 +351,7 @@ export default function App() {
349351

350352
### Owner Stack이 `null`인 경우 {/*the-owner-stack-is-null*/}
351353

352-
`captureOwnerStack`이 React가 제어하지 않는 함수 바깥에서 호출됐을 경우, 예를 들어 `setTimeout` 콜백, `fetch` 호출 후, 커스텀 DOM 이벤트 핸들러 등에서는 Owner Stack이 null이 됩니다. 렌더링 중이나 이펙트, React 이벤트 핸들러, React 에러 핸들러(예: `hydrateRoot#options.onCaughtError`) 내에서만 생성됩니다.
354+
`captureOwnerStack`이 React가 제어하지 않는 함수 바깥에서 호출됐을 경우, 예를 들어 `setTimeout` 콜백, `fetch` 호출 후, 커스텀 DOM 이벤트 핸들러 등에서는 Owner Stack이 null이 됩니다. 렌더링 중이나 이펙트, React 이벤트 핸들러, React 오류 핸들러(예: `hydrateRoot#options.onCaughtError`) 내에서만 생성됩니다.
353355

354356
아래 예시에서, 버튼을 클릭하면 빈 Owner Stack이 로그로 출력됩니다. 그 이유는 `captureOwnerStack`이 커스텀 이벤트 핸들러 내에서 호출되었기 때문입니다. Owner Stack은 더 이른 시점, 예를 들어 이펙트 내부에서 `captureOwnerStack`를 호출하도록 이동시켜야 올바르게 캡처할 수 있습니다.
355357
<Sandpack>

0 commit comments

Comments
 (0)