Skip to content

Commit dd9a459

Browse files
authored
Merge branch 'main' into docs/fix-camelcase-section-heading
2 parents 41246aa + 0fd91d7 commit dd9a459

15 files changed

+185
-167
lines changed

src/content/blog/2025/04/21/react-compiler-rc.md

Lines changed: 63 additions & 50 deletions
Large diffs are not rendered by default.

src/content/blog/2025/04/23/react-labs-view-transitions-activity-and-more.md

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2458,17 +2458,17 @@ root.render(
24582458

24592459
</Sandpack>
24602460

2461-
Since our router already updates the route using `startTransition`, this one line change to add `<ViewTransition>` activates with the default cross-fade animation.
2461+
라우터가 이미 `startTransition`을 사용해서 라우트를 업데이트하고 있기 때문에, `<ViewTransition>`을 한 줄 추가하는 것만으로 기본 크로스 페이드 애니메이션이 활성화됩니다.
24622462

2463-
If you're curious how this works, see the docs for [How does `<ViewTransition>` work?](/reference/react/ViewTransition#how-does-viewtransition-work)
2463+
어떻게 동작하는지 궁금하다면 [How does `<ViewTransition>` work?](/reference/react/ViewTransition#how-does-viewtransition-work) 문서를 참고하세요.
24642464

24652465
<Note>
24662466

2467-
#### Opting out of `<ViewTransition>` animations {/*opting-out-of-viewtransition-animations*/}
2467+
#### `<ViewTransition>` 애니메이션 건너뛰기 {/*opting-out-of-viewtransition-animations*/}
24682468

2469-
In this example, we're wrapping the root of the app in `<ViewTransition>` for simplicity, but this means that all transitions in the app will be animated, which can lead to unexpected animations.
2469+
이 예시에서 단순화를 위해 앱의 루트를 `<ViewTransition>`으로 감싸고 있지만, 이렇게 하면 앱 내의 모든 트랜지션이 애니메이션 되어 예상치 못한 애니메이션이 발생할 수 있습니다.
24702470

2471-
To fix, we're wrapping route children with `"none"` so each page can control its own animation:
2471+
이를 해결하기 위해 각 페이지에서 자체적으로 애니메이션을 제어할 수 있도록 라우트 자식 요소를 `"none"`으로 감싸고 있습니다.
24722472

24732473
```js
24742474
// Layout.js
@@ -2477,25 +2477,25 @@ To fix, we're wrapping route children with `"none"` so each page can control its
24772477
</ViewTransition>
24782478
```
24792479

2480-
In practice, navigations should be done via "enter" and "exit" props, or by using Transition Types.
2480+
실제로 네비게이션은 "enter""exit" Props 또는 Transition Types를 사용해서 처리하는 것이 좋습니다.
24812481

24822482
</Note>
24832483

24842484
### Customizing animations {/*customizing-animations*/}
24852485

2486-
By default, `<ViewTransition>` includes the default cross-fade from the browser.
2486+
기본적으로 `<ViewTransition>`은 브라우저의 기본 크로스페이드를 포함합니다.
24872487

2488-
To customize animations, you can provide props to the `<ViewTransition>` component to specify which animations to use, based on [how the `<ViewTransition>` activates](/reference/react/ViewTransition#props).
2488+
애니메이션을 커스터마이징하려면, [어떻게 `<ViewTransition>`이 활성화되는지](/reference/react/ViewTransition#props)에 따라, 어떤 애니메이션을 사용할지 지정하는 Props를 `<ViewTransition>` 컴포넌트에 제공할 수 있습니다.
24892489

2490-
For example, we can slow down the `default` cross fade animation:
2490+
예를 들어, `default` 크로스페이드 애니메이션을 느리게 만들 수 있습니다.
24912491

24922492
```js
24932493
<ViewTransition default="slow-fade">
24942494
<Home />
24952495
</ViewTransition>
24962496
```
24972497

2498-
And define `slow-fade` in CSS using [view transition classes](/reference/react/ViewTransition#view-transition-classes):
2498+
그리고 [View Transition 클래스](/reference/react/ViewTransition#view-transition-classes)를 사용하여 CSS에서 `slow-fade`를 정의합니다.
24992499

25002500
```css
25012501
::view-transition-old(.slow-fade) {
@@ -2507,7 +2507,7 @@ And define `slow-fade` in CSS using [view transition classes](/reference/react/V
25072507
}
25082508
```
25092509

2510-
Now, the cross fade is slower:
2510+
이제 크로스페이드가 더 느려집니다.
25112511

25122512
<Sandpack>
25132513

@@ -3686,21 +3686,21 @@ root.render(
36863686

36873687
</Sandpack>
36883688

3689-
See [Styling View Transitions](/reference/react/ViewTransition#styling-view-transitions) for a full guide on styling `<ViewTransition>`.
3689+
`<ViewTransition>` 스타일링에 대한 전체 가이드는 [View Transition 스타일링](/reference/react/ViewTransition#styling-view-transitions)을 참조하세요.
36903690

36913691
### Shared Element Transitions {/*shared-element-transitions*/}
36923692

3693-
When two pages include the same element, often you want to animate it from one page to the next.
3693+
두 페이지에 같은 요소가 있을 때, 종종 한 페이지에서 다음 페이지로 이어지도록 애니메이션을 주고 싶을 때가 있습니다.
36943694

3695-
To do this you can add a unique `name` to the `<ViewTransition>`:
3695+
이를 위해 `<ViewTransition>`에 고유한 `name` 속성을 추가할 수 있습니다.
36963696

36973697
```js
36983698
<ViewTransition name={`video-${video.id}`}>
36993699
<Thumbnail video={video} />
37003700
</ViewTransition>
37013701
```
37023702

3703-
Now the video thumbnail animates between the two pages:
3703+
이제 비디오 썸네일이 두 페이지 사이에서 애니메이션으로 전환됩니다.
37043704

37053705
<Sandpack>
37063706

@@ -4895,9 +4895,9 @@ root.render(
48954895

48964896
</Sandpack>
48974897

4898-
By default, React automatically generates a unique `name` for each element activated for a transition (see [How does `<ViewTransition>` work](/reference/react/ViewTransition#how-does-viewtransition-work)). When React sees a transition where a `<ViewTransition>` with a `name` is removed and a new `<ViewTransition>` with the same `name` is added, it will activate a shared element transition.
4898+
기본적으로 React는 Transition에 활성화된 각 요소에 대해 고유한 `name`을 자동으로 생성합니다. ([`<ViewTransition>`이 어떻게 동작하는지 참고하세요.](/reference/react/ViewTransition#how-does-viewtransition-work)) React가 어떤 Transition에서 특정 `name`을 가진 `<ViewTransition>`이 제거되고, 동일한 `name`을 가진 새로운 `<ViewTransition>`이 추가된 것을 감지하면 공유 요소 전환<sup>Shared Element Transition</sup>을 활성화합니다.
48994899

4900-
For more info, see the docs for [Animating a Shared Element](/reference/react/ViewTransition#animating-a-shared-element).
4900+
자세한 내용은 [Animating a Shared Element](/reference/react/ViewTransition#animating-a-shared-element) 문서를 참고하세요.
49014901

49024902
### Animating based on cause {/*animating-based-on-cause*/}
49034903

src/content/learn/build-a-react-app-from-scratch.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ React 생태계에는 이러한 문제들을 해결하기 위한 많은 도구
9797

9898
대부분의 백엔드나 REST 스타일 API에서 데이터를 가져온다면 다음을 사용할 것을 제안합니다.
9999

100-
- [React Query](https://react-query.tanstack.com/)
100+
- [React Query](https://tanstack.com/query/latest)
101101
- [SWR](https://swr.vercel.app/)
102102
- [RTK Query](https://redux-toolkit.js.org/rtk-query/overview)
103103

@@ -126,7 +126,7 @@ GraphQL API에서 데이터를 가져온다면 다음을 사용할 것을 제안
126126

127127
* **단일 페이지 앱 (SPA)** 은 단일 HTML 페이지를 로드하고 사용자가 앱과 상호작용을 할 때 페이지를 동적으로 업데이트합니다. SPA는 시작하기는 더 쉽지만, 초기 로드 시간이 느릴 수 있습니다. SPA는 대부분의 빌드 도구에서 기본 아키텍처입니다.
128128

129-
* **스트리밍 서버 측 렌더링(SSR)** 은 서버에서 페이지를 렌더링하고 완전히 렌더링 된 페이지를 클라이언트로 보냅니다. SSR은 성능을 향상할 수 있지만, 단일 페이지 앱보다 설정하고 유지 관리하는 것이 더 복잡할 수 있습니다. 스트리밍 기능이 추가되면서 SSR은 설정 및 유지 관리가 매우 복잡해질 수 있습니다. Vite의 SSR 가이드를 참조하세요.
129+
* **스트리밍 서버 측 렌더링(SSR)** 은 서버에서 페이지를 렌더링하고 완전히 렌더링 된 페이지를 클라이언트로 보냅니다. SSR은 성능을 향상할 수 있지만, 단일 페이지 앱보다 설정하고 유지 관리하는 것이 더 복잡할 수 있습니다. 스트리밍 기능이 추가되면서 SSR은 설정 및 유지 관리가 매우 복잡해질 수 있습니다. [Vite의 SSR 가이드](https://vite.dev/guide/ssr.html) 참조하세요.
130130

131131
* **정적 사이트 생성(SSG)** 은 빌드 시점에 앱에 대한 정적 HTML 파일을 생성합니다. SSG는 성능을 향상할 수 있지만, 서버 측 렌더링보다 설정하고 유지 관리하는 것이 더 복잡할 수 있습니다. [Vite의 SSG 가이드](https://vite.dev/guide/ssr.html#pre-rendering-ssg)를 참조하세요.
132132

src/content/learn/creating-a-react-app.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ async function Talks({ confId }) {
8383
// 2. 렌더링 로직이 추가되더라고도 자바스크립트 번들 크기를 크게 만들지 않습니다.
8484
const videos = talks.map(talk => talk.video);
8585

86-
// 3. 브라우저에서 싫행될 컴포넌트에 데이터를 전달합니다.
86+
// 3. 브라우저에서 실행될 컴포넌트에 데이터를 전달합니다.
8787
return <SearchableVideoList videos={videos} />;
8888
}
8989
```

src/content/learn/queueing-a-series-of-state-updates.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,7 @@ h1 { display: inline-block; margin: 10px; width: 30px; text-align: center; }
255255

256256
```js
257257
setEnabled(e => !e);
258-
setLastName(ln => ln.reverse());
258+
setLastName(ln => ln.toUpperCase());
259259
setFriendCount(fc => fc * 2);
260260
```
261261

src/content/reference/react-dom/components/common.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -255,32 +255,32 @@ title: "공통 컴포넌트 (예: <div>)"
255255
}}>
256256
```
257257

258-
[See an example of using the `ref` callback.](/learn/manipulating-the-dom-with-refs#how-to-manage-a-list-of-refs-using-a-ref-callback)
258+
[`ref` 콜백을 사용하는 예시를 확인해 보세요.](/learn/manipulating-the-dom-with-refs#how-to-manage-a-list-of-refs-using-a-ref-callback)
259259

260-
When the `<div>` DOM node is added to the screen, React will call your `ref` callback with the DOM `node` as the argument. When that `<div>` DOM node is removed, React will call your the cleanup function returned from the callback.
260+
화면에 `<div>` DOM 노드가 추가되면, React는 `ref` 콜백을 호출하고 그 인자로 DOM `node`를 전달합니다. 해당 `<div>` DOM 노드가 제거되면, React는 콜백에서 반환한 Cleanup 함수를 호출합니다.
261261

262-
React will also call your `ref` callback whenever you pass a *different* `ref` callback. In the above example, `(node) => { ... }` is a different function on every render. When your component re-renders, the *previous* function will be called with `null` as the argument, and the *next* function will be called with the DOM node.
262+
React는 *다른* `ref` 콜백을 전달할 때마다 `ref` 콜백도 호출합니다. 위 예시에서 `(node) => { ... }`는 렌더링마다 서로 다른 함수입니다. 컴포넌트가 다시 렌더링 될 때, *이전* 함수는 인자로 `null`을 받아 호출되고, *다음* 함수는 DOM 노드를 인자로 받아 호출됩니다.
263263

264-
#### Parameters {/*ref-callback-parameters*/}
264+
#### 매개변수 {/*ref-callback-parameters*/}
265265

266-
* `node`: A DOM node. React will pass you the DOM node when the ref gets attached. Unless you pass the same function reference for the `ref` callback on every render, the callback will get temporarily cleanup and re-create during every re-render of the component.
266+
* `node`: DOM 노드. Ref가 DOM 노드에 연결될 때 React가 해당 DOM 노드를 전달합니다. 매 렌더링에서 `ref` 콜백에 동일한 함수 참조를 넘기지 않으면, 컴포넌트가 리렌더링될 때마다 콜백이 일시적으로 Cleanup 됐다가 다시 생성됩니다.
267267

268268
<Note>
269269

270-
#### React 19 added cleanup functions for `ref` callbacks. {/*react-19-added-cleanup-functions-for-ref-callbacks*/}
270+
#### React 19는 `ref` 콜백을 위한 Cleanup 함수를 추가했습니다. {/*react-19-added-cleanup-functions-for-ref-callbacks*/}
271271

272-
To support backwards compatibility, if a cleanup function is not returned from the `ref` callback, `node` will be called with `null` when the `ref` is detached. This behavior will be removed in a future version.
272+
하위 호환성을 위해, `ref` 콜백이 Cleanup 함수를 반환하지 않으면, `ref`가 분리될 때 `node``null`로 호출됩니다. 이 동작은 향후 버전에서 제거될 예정입니다.
273273

274274
</Note>
275275

276-
#### Returns {/*returns*/}
276+
#### 반환값 {/*returns*/}
277277

278-
* **optional** `cleanup function`: When the `ref` is detached, React will call the cleanup function. If a function is not returned by the `ref` callback, React will call the callback again with `null` as the argument when the `ref` gets detached. This behavior will be removed in a future version.
278+
* **optional** `Cleanup 함수`: `ref`가 분리되면, React는 cleanup 함수를 호출합니다. `ref` 콜백에 의해 함수가 반환되지 않으면 React는 `ref`가 분리되면 인수로 `null`을 사용하여 다시 콜백을 호출합니다. 이 동작은 향후 버전에서 제거될 예정입니다.
279279

280-
#### Caveats {/*caveats*/}
280+
#### 주의 사항 {/*caveats*/}
281281

282-
* When Strict Mode is on, React will **run one extra development-only setup+cleanup cycle** before the first real setup. This is a stress-test that ensures that your cleanup logic "mirrors" your setup logic and that it stops or undoes whatever the setup is doing. If this causes a problem, implement the cleanup function.
283-
* When you pass a *different* `ref` callback, React will call the *previous* callback's cleanup function if provided. If no cleanup function is defined, the `ref` callback will be called with `null` as the argument. The *next* function will be called with the DOM node.
282+
* Strict Mode가 켜져있으면, React는 첫 번째 실제 설정 전에 **개발 전용 Setup + cleanup 주기**를 하나 더 실행할 것입니다. 이는 스트레스 테스트로, Cleanup 로직이 Setup 로직을 "거울처럼" 따라가며 Setup이 하는 일을 중지하거나 되돌리도록 보장하기 위한 것입니다. 이 때문에 문제가 발생한다면 Cleanup 함수를 구현하세요.
283+
* *다른* `ref` 콜백을 전달하면, React는 먼저 *이전* 콜백의 Cleanup 함수가 있다면 그것을 호출합니다. Cleanup 함수가 없으면, 이전 `ref` 콜백을 `null`을 인수로 하여 한 번 호출합니다. *다음* 함수는 DOM 노드와 함께 호출됩니다.
284284

285285
---
286286

src/content/reference/react-dom/components/form.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@ export async function deliverMessage(message) {
232232

233233
</Sandpack>
234234

235-
`useOptimistic` Hook에 대해 더 알고 싶다면 [참고 문서](/reference/react/hooks/useOptimistic)를 확인하세요.
235+
`useOptimistic` Hook에 대해 더 알고 싶다면 [참고 문서](/reference/react/useOptimistic)를 확인하세요.
236236

237237
### 폼 제출 오류 처리하기 {/*handling-form-submission-errors*/}
238238

src/content/reference/react-dom/server/renderToString.md

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -98,16 +98,16 @@ app.use('/', (request, response) => {
9898
9999
---
100100
101-
### Migrating from `renderToString` to a static prerender on the server {/*migrating-from-rendertostring-to-a-static-prerender-on-the-server*/}
101+
### 서버에서 `renderToString`을 정적 프리렌더로 마이그레이션 {/*migrating-from-rendertostring-to-a-static-prerender-on-the-server*/}
102102
103-
`renderToString` returns a string immediately, so it does not support waiting for data to load for static HTML generation.
103+
`renderToString`은 문자열을 즉시 반환하므로, 정적 HTML 생성을 위해 데이터 로딩이 완료될 때까지 기다리는 것을 지원하지 않습니다.
104104
105-
We recommend using these fully-featured alternatives:
105+
가능하면 다음과 같은 완전한 기능을 갖춘 대안을 사용하는 것을 권장합니다.
106106
107-
* If you use Node.js, use [`prerenderToNodeStream`](/reference/react-dom/static/prerenderToNodeStream).
108-
* If you use Deno or a modern edge runtime with [Web Streams](https://developer.mozilla.org/en-US/docs/Web/API/Streams_API), use [`prerender`](/reference/react-dom/static/prerender).
107+
* Node.js를 사용하는 경우 [`prerenderToNodeStream`](/reference/react-dom/static/prerenderToNodeStream)을 사용하세요.
108+
* Deno와 최신 엣지 런타임에서 [Web Streams](https://developer.mozilla.org/en-US/docs/Web/API/Streams_API)을 사용하는 경우 [`prerender`](/reference/react-dom/static/prerender)를 사용하세요.
109109
110-
You can continue using `renderToString` if your static site generation environment does not support streams.
110+
정적 사이트 생성 환경에서 스트림을 지원하지 않는 경우에는 `renderToString`을 계속 사용할 수 있습니다.
111111
112112
---
113113
@@ -149,4 +149,5 @@ console.log(div.innerHTML); // 예를 들어, "<svg>...</svg>"
149149
150150
일부 컴포넌트가 일시 중단<sup>Suspend</sup>되거나 (예를 들어, [`lazy`](/reference/react/lazy)와 함께 정의되거나 데이터를 가져올 때) `renderToString`은 콘텐츠가 해결될 때까지 기다리지 않습니다. `renderToString`는 그 위에 가장 가까운 [`<Suspense>`](/reference/react/Suspense) 경계를 찾아 `fallback` 프로퍼티를 HTML에 렌더링합니다. 내용<sup>Content</sup>은 클라이언트 코드가 로드될 때까지 나타나지 않습니다.
151151
152-
To solve this, use one of the [recommended streaming solutions](#alternatives). For server side rendering, they can stream content in chunks as it resolves on the server so that the user sees the page being progressively filled in before the client code loads. For static site generation, they can wait for all the content to resolve before generating the static HTML.
152+
이를 해결하려면 [권장되는 스트리밍 솔루션](#alternatives) 중 하나를 사용하면 좋습니다. 서버 사이드 렌더링의 경우, 서버에서 해결되는 대로 콘텐츠를 작은 단위<sup>chunk</sup>로 스트리밍할 수 있어 클라이언트 코드가 로드되기 전에 사용자가 페이지가 단계적으로 나타나는 것을 볼 수 있습니다. 정적 사이트 생성의 경우, 정적 HTML을 생성하기 전에 모든 콘텐츠가 해결될 때까지 기다릴 수 있습니다.
153+

0 commit comments

Comments
 (0)