Skip to content

Commit a30b9ee

Browse files
merging all conflicts
2 parents 3520526 + 6ae99dd commit a30b9ee

28 files changed

+309
-100
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ This repo contains the source code and documentation powering [react.dev](https:
99
### Prerequisites
1010

1111
1. Git
12-
1. Node: any 12.x version starting with v12.0.0 or greater
12+
1. Node: any version starting with v16.8.0 or greater
1313
1. Yarn: See [Yarn website for installation instructions](https://yarnpkg.com/lang/en/docs/install/)
1414
1. A fork of the repo (for any contributions)
1515
1. A clone of the [react.dev repo](https://github.com/reactjs/react.dev) on your local machine

public/images/team/lauren.jpg

949 KB
Loading

src/content/blog/2024/04/25/react-19-upgrade-guide.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ npx codemod@latest react/19/migration-recipe
113113
- [`replace-string-ref`](https://github.com/reactjs/react-codemod?tab=readme-ov-file#replace-string-ref)
114114
- [`replace-act-import`](https://github.com/reactjs/react-codemod?tab=readme-ov-file#replace-act-import)
115115
- [`replace-use-form-state`](https://github.com/reactjs/react-codemod?tab=readme-ov-file#replace-use-form-state)
116-
- [`prop-types-typescript`](TODO)
116+
- [`prop-types-typescript`](https://codemod.com/registry/react-prop-types-typescript)
117117

118118
これには TypeScript 関連の変更は含まれていません。以下の [TypeScript 関連の変更](#typescript-changes)を参照してください。
119119

src/content/blog/2024/12/05/react-19.md

+9-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,11 @@ December 05, 2024 by [The React Team](/community/team)
1717
- **サスペンド中のツリーのプリウォーム**[サスペンスに関する改善](/blog/2024/04/25/react-19-upgrade-guide#improvements-to-suspense)
1818
- **静的サイト用の React DOM API**: [静的サイト用の新 DOM API](#new-react-dom-static-apis)
1919

20+
<<<<<<< HEAD
2021
_この記事の投稿日時も、安定版リリースに合わせて変更となっています。_
22+
=======
23+
_The date for this post has been updated to reflect the stable release date._
24+
>>>>>>> 6ae99dddc3b503233291da96e8fd4b118ed6d682
2125
2226
</Note>
2327

@@ -362,7 +366,11 @@ React 19 には、Canary チャンネルにあったすべての React Server Co
362366

363367
#### サーバコンポーネントのサポートを追加する方法 {/*how-do-i-build-support-for-server-components*/}
364368

369+
<<<<<<< HEAD
365370
React 19 の React Server Components は安定しており、メジャーバージョン間での破壊的変更はありませんが、サーバコンポーネントのバンドラやフレームワークを実装するために使用される基盤となる API は semver に従いません。React 19.x のマイナーバージョン間で変更が生じる可能性があります。
371+
=======
372+
While React Server Components in React 19 are stable and will not break between minor versions, the underlying APIs used to implement a React Server Components bundler or framework do not follow semver and may break between minors in React 19.x.
373+
>>>>>>> 6ae99dddc3b503233291da96e8fd4b118ed6d682
366374
367375
React Server Components をバンドラやフレームワークでサポートする場合は、特定の React バージョンに固定するか、Canary リリースを使用することをお勧めします。React Server Components を実装するために使用される API を安定化させるため、今後もバンドラやフレームワークと連携を続けていきます。
368376

@@ -807,4 +815,4 @@ React におけるカスタム要素のサポートに関し、設計と実装
807815
#### アップグレード方法 {/*how-to-upgrade*/}
808816
アップグレードに関するステップバイステップのガイドや、重要な変更点の完全なリストについては、[React 19 アップグレードガイド](/blog/2024/04/25/react-19-upgrade-guide)を参照してください。
809817

810-
_Note: this post was originally published 04/25/2024 and has been updated to 12/05/2024 with the stable release._
818+
_Note: this post was originally published 04/25/2024 and has been updated to 12/05/2024 with the stable release._

src/content/community/conferences.md

+42-31
Original file line numberDiff line numberDiff line change
@@ -10,62 +10,73 @@ title: React カンファレンス
1010

1111
## Upcoming Conferences {/*upcoming-conferences*/}
1212

13-
### React Universe Conf 2024 {/*react-universe-conf-2024*/}
14-
September 5-6, 2024. Wrocław, Poland.
13+
### React Day Berlin 2024 {/*react-day-berlin-2024*/}
14+
December 13 & 16, 2024. In-person in Berlin, Germany + remote (hybrid event)
1515

16-
[Website](https://www.reactuniverseconf.com/) - [Twitter](https://twitter.com/react_native_eu) - [LinkedIn](https://www.linkedin.com/events/reactuniverseconf7163919537074118657/)
16+
[Website](https://reactday.berlin/) - [Twitter](https://x.com/reactdayberlin)
1717

18-
### React Alicante 2024 {/*react-alicante-2024*/}
19-
September 19-21, 2024. Alicante, Spain.
18+
### App.js Conf 2025 {/*appjs-conf-2025*/}
19+
May 28 - 30, 2025. In-person in Kraków, Poland + remote
2020

21-
[Website](https://reactalicante.es/) - [Twitter](https://twitter.com/ReactAlicante) - [YouTube](https://www.youtube.com/channel/UCaSdUaITU1Cz6PvC97A7e0w)
21+
[Website](https://appjs.co) - [Twitter](https://twitter.com/appjsconf)
2222

23-
### RenderCon Kenya 2024 {/*rendercon-kenya-2024*/}
24-
October 04 - 05, 2024. Nairobi, Kenya
23+
### React Summit 2025 {/*react-summit-2025*/}
24+
June 13 - 17, 2025. In-person in Amsterdam, Netherlands + remote (hybrid event)
2525

26-
[Website](https://rendercon.org/) - [Twitter](https://twitter.com/renderconke) - [LinkedIn](https://www.linkedin.com/company/renderconke/) - [YouTube](https://www.youtube.com/channel/UC0bCcG8gHUL4njDOpQGcMIA)
26+
[Website](https://reactsummit.com/) - [Twitter](https://x.com/reactsummit)
2727

28-
### React India 2024 {/*react-india-2024*/}
29-
October 17 - 19, 2024. In-person in Goa, India (hybrid event) + Oct 15 2024 - remote day
28+
## Past Conferences {/*past-conferences*/}
3029

31-
[Website](https://www.reactindia.io) - [Twitter](https://twitter.com/react_india) - [Facebook](https://www.facebook.com/ReactJSIndia) - [Youtube](https://www.youtube.com/channel/UCaFbHCBkPvVv1bWs_jwYt3w)
30+
### React Africa 2024 {/*react-africa-2024*/}
31+
November 29, 2024. In-person in Casablanca, Morocco (hybrid event)
3232

33-
### React Brussels 2024 {/*react-brussels-2024*/}
34-
October 18, 2024. In-person in Brussels, Belgium (hybrid event)
33+
[Website](https://react-africa.com/) - [Twitter](https://x.com/BeJS_)
3534

36-
[Website](https://www.react.brussels/) - [Twitter](https://x.com/BrusselsReact)
35+
### React Summit US 2024 {/*react-summit-us-2024*/}
36+
November 19 & 22, 2024. In-person in New York, USA + online (hybrid event)
3737

38-
### reactjsday 2024 {/*reactjsday-2024*/}
39-
October 25, 2024. In-person in Verona, Italy + online (hybrid event)
38+
[Website](https://reactsummit.us/) - [Twitter](https://twitter.com/reactsummit) - [Videos](https://portal.gitnation.org/)
4039

41-
[Website](https://2024.reactjsday.it/) - [Twitter](https://x.com/reactjsday) - [Facebook](https://www.facebook.com/GrUSP/) - [YouTube](https://www.youtube.com/c/grusp)
40+
### React Native London Conf 2024 {/*react-native-london-2024*/}
41+
November 14 & 15, 2024. In-person in London, UK
42+
43+
[Website](https://reactnativelondon.co.uk/) - [Twitter](https://x.com/RNLConf)
4244

4345
### React Advanced London 2024 {/*react-advanced-london-2024*/}
4446
October 25 & 28, 2024. In-person in London, UK + online (hybrid event)
4547

4648
[Website](https://reactadvanced.com/) - [Twitter](https://x.com/reactadvanced)
4749

48-
### React Native London Conf 2024 {/*react-native-london-2024*/}
49-
November 14 & 15, 2024. In-person in London, UK
50+
### reactjsday 2024 {/*reactjsday-2024*/}
51+
October 25, 2024. In-person in Verona, Italy + online (hybrid event)
5052

51-
[Website](https://reactnativelondon.co.uk/) - [Twitter](https://x.com/RNLConf)
53+
[Website](https://2024.reactjsday.it/) - [Twitter](https://x.com/reactjsday) - [Facebook](https://www.facebook.com/GrUSP/) - [YouTube](https://www.youtube.com/c/grusp)
5254

53-
### React Summit US 2024 {/*react-summit-us-2024*/}
54-
November 19 & 22, 2024. In-person in New York, USA + online (hybrid event)
55+
### React Brussels 2024 {/*react-brussels-2024*/}
56+
October 18, 2024. In-person in Brussels, Belgium (hybrid event)
5557

56-
[Website](https://reactsummit.us/) - [Twitter](https://twitter.com/reactsummit) - [Videos](https://portal.gitnation.org/)
58+
[Website](https://www.react.brussels/) - [Twitter](https://x.com/BrusselsReact)
5759

58-
### React Africa 2024 {/*react-africa-2024*/}
59-
November 29, 2024. In-person in Casablanca, Morocco (hybrid event)
60+
### React India 2024 {/*react-india-2024*/}
61+
October 17 - 19, 2024. In-person in Goa, India (hybrid event) + Oct 15 2024 - remote day
6062

61-
[Website](https://react-africa.com/) - [Twitter](https://x.com/BeJS_)
63+
[Website](https://www.reactindia.io) - [Twitter](https://twitter.com/react_india) - [Facebook](https://www.facebook.com/ReactJSIndia) - [Youtube](https://www.youtube.com/channel/UCaFbHCBkPvVv1bWs_jwYt3w)
6264

63-
### React Day Berlin 2024 {/*react-day-berlin-2024*/}
64-
December 13 & 16, 2024. In-person in Berlin, Germany + remote (hybrid event)
65+
### RenderCon Kenya 2024 {/*rendercon-kenya-2024*/}
66+
October 04 - 05, 2024. Nairobi, Kenya
6567

66-
[Website](https://reactday.berlin/) - [Twitter](https://x.com/reactdayberlin)
68+
[Website](https://rendercon.org/) - [Twitter](https://twitter.com/renderconke) - [LinkedIn](https://www.linkedin.com/company/renderconke/) - [YouTube](https://www.youtube.com/channel/UC0bCcG8gHUL4njDOpQGcMIA)
69+
70+
### React Alicante 2024 {/*react-alicante-2024*/}
71+
September 19-21, 2024. Alicante, Spain.
72+
73+
[Website](https://reactalicante.es/) - [Twitter](https://twitter.com/ReactAlicante) - [YouTube](https://www.youtube.com/channel/UCaSdUaITU1Cz6PvC97A7e0w)
74+
75+
### React Universe Conf 2024 {/*react-universe-conf-2024*/}
76+
September 5-6, 2024. Wrocław, Poland.
77+
78+
[Website](https://www.reactuniverseconf.com/) - [Twitter](https://twitter.com/react_native_eu) - [LinkedIn](https://www.linkedin.com/events/reactuniverseconf7163919537074118657/)
6779

68-
## Past Conferences {/*past-conferences*/}
6980

7081
### React Rally 2024 🐙 {/*react-rally-2024*/}
7182
August 12-13, 2024. Park City, UT, USA

src/content/community/team.md

+4
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,11 @@ React コアチームのメンバーは、コアコンポーネントの API、R
4343
</TeamMember>
4444

4545
<TeamMember name="Lauren Tan" permalink="lauren-tan" photo="/images/team/lauren.jpg" github="poteto" twitter="potetotes" threads="potetotes" bsky="no.lol" title="Engineer at Meta">
46+
<<<<<<< HEAD
4647
Lauren のプログラミングキャリアは `<marquee>` タグを初めて見たときにピークを迎えました。それ以来、彼女はその時の高揚感を追い続けています。大学ではコンピュータサイエンスではなく経済学を学んでいたため、コーディングは Java ではなく Excel で学びました。Lauren はチャットでお茶目なミームを投下したり、パートナとゲームを楽しんだり、犬の Zelda を可愛がったりするのが好きです。
48+
=======
49+
Lauren's programming career peaked when she first discovered the `<marquee>` tag. She’s been chasing that high ever since. She studied Finance instead of CS in college, so she learned to code using Excel. Lauren enjoys dropping cheeky memes in chat, playing video games with her partner, learning Korean, and petting her dog Zelda.
50+
>>>>>>> 6ae99dddc3b503233291da96e8fd4b118ed6d682
4751
</TeamMember>
4852
4953
<TeamMember name="Luna Wei" permalink="luna-wei" photo="/images/team/luna-wei.jpg" github="lunaleaps" twitter="lunaleaps" threads="lunaleaps" title="Engineer at Meta">

src/content/learn/index.md

+4
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,11 @@ title: クイックスタート
44

55
<Intro>
66

7+
<<<<<<< HEAD
78
React ドキュメントへようこそ! このページでは、日々の開発で使用する React のコンセプトのうち 80% の部分を紹介します。
9+
=======
10+
Welcome to the React documentation! This page will give you an introduction to 80% of the React concepts that you will use on a daily basis.
11+
>>>>>>> 6ae99dddc3b503233291da96e8fd4b118ed6d682
812
913
</Intro>
1014

src/content/learn/manipulating-the-dom-with-refs.md

+44-14
Original file line numberDiff line numberDiff line change
@@ -343,17 +343,42 @@ Strict Mode が有効の場合、ref コールバックは開発環境で 2 回
343343

344344
## 別のコンポーネントの DOM ノードにアクセスする {/*accessing-another-components-dom-nodes*/}
345345

346+
<<<<<<< HEAD
346347
`<input />` のようなブラウザ要素を出力する組み込みコンポーネントに ref を置いた場合、React はその ref の `current` プロパティを、対応する DOM ノード(ブラウザの実際の `<input />` など)にセットします。
347348

348349
ただし、**独自の**コンポーネント、例えば `<MyInput />` に ref を置こうとすると、デフォルトでは `null` が返されます。以下はそれを示す例です。ボタンをクリックしても入力フィールドにフォーカスが当たらないことに注意してください。
350+
=======
351+
<Pitfall>
352+
Refs are an escape hatch. Manually manipulating _another_ component's DOM nodes can make your code fragile.
353+
</Pitfall>
354+
355+
You can pass refs from parent component to child components [just like any other prop](/learn/passing-props-to-a-component).
356+
357+
```js {3-4,9}
358+
import { useRef } from 'react';
359+
360+
function MyInput({ ref }) {
361+
return <input ref={ref} />;
362+
}
363+
364+
function MyForm() {
365+
const inputRef = useRef(null);
366+
return <MyInput ref={inputRef} />
367+
}
368+
```
369+
370+
In the above example, a ref is created in the parent component, `MyForm`, and is passed to the child component, `MyInput`. `MyInput` then passes the ref to `<input>`. Because `<input>` is a [built-in component](/reference/react-dom/components/common) React sets the `.current` property of the ref to the `<input>` DOM element.
371+
372+
The `inputRef` created in `MyForm` now points to the `<input>` DOM element returned by `MyInput`. A click handler created in `MyForm` can access `inputRef` and call `focus()` to set the focus on `<input>`.
373+
>>>>>>> 6ae99dddc3b503233291da96e8fd4b118ed6d682
349374
350375
<Sandpack>
351376

352377
```js
353378
import { useRef } from 'react';
354379

355-
function MyInput(props) {
356-
return <input {...props} />;
380+
function MyInput({ ref }) {
381+
return <input ref={ref} />;
357382
}
358383

359384
export default function MyForm() {
@@ -376,6 +401,7 @@ export default function MyForm() {
376401

377402
</Sandpack>
378403

404+
<<<<<<< HEAD
379405
問題に気付きやすくするため、React はコンソールにもエラーを出力します。
380406

381407
<ConsoleBlock level="error">
@@ -433,31 +459,33 @@ export default function Form() {
433459

434460
デザインシステムにおいて、ボタン、入力フィールドなどの低レベルなコンポーネントが、内部の DOM ノードに ref を転送することは一般的なパターンです。一方、フォーム、リスト、ページセクションなどの高レベルなコンポーネントは、DOM 構造への偶発的な依存関係を避けるため、通常は DOM ノードを公開しません。
435461

462+
=======
463+
>>>>>>> 6ae99dddc3b503233291da96e8fd4b118ed6d682
436464
<DeepDive>
437465
438466
#### 命令型ハンドルで API の一部を公開する {/*exposing-a-subset-of-the-api-with-an-imperative-handle*/}
439467

468+
<<<<<<< HEAD
440469
上記の例では、`MyInput` は元の DOM の input 要素を公開しています。これにより親コンポーネント側からその要素の `focus()` を呼び出すことができます。しかしこれにより、親コンポーネントが他のこと、例えば、CSS スタイルを変更することもできてしまいます。一般的なことではありませんが、公開される機能を制限したいということがあります。それには `useImperativeHandle` を使います。
470+
=======
471+
In the above example, the ref passed to `MyInput` is passed on to the original DOM input element. This lets the parent component call `focus()` on it. However, this also lets the parent component do something else--for example, change its CSS styles. In uncommon cases, you may want to restrict the exposed functionality. You can do that with [`useImperativeHandle`](/reference/react/useImperativeHandle):
472+
>>>>>>> 6ae99dddc3b503233291da96e8fd4b118ed6d682
441473
442474
<Sandpack>
443475

444476
```js
445-
import {
446-
forwardRef,
447-
useRef,
448-
useImperativeHandle
449-
} from 'react';
477+
import { useRef, useImperativeHandle } from "react";
450478

451-
const MyInput = forwardRef((props, ref) => {
479+
function MyInput({ ref }) {
452480
const realInputRef = useRef(null);
453481
useImperativeHandle(ref, () => ({
454482
// Only expose focus and nothing else
455483
focus() {
456484
realInputRef.current.focus();
457485
},
458486
}));
459-
return <input {...props} ref={realInputRef} />;
460-
});
487+
return <input ref={realInputRef} />;
488+
};
461489

462490
export default function Form() {
463491
const inputRef = useRef(null);
@@ -469,17 +497,19 @@ export default function Form() {
469497
return (
470498
<>
471499
<MyInput ref={inputRef} />
472-
<button onClick={handleClick}>
473-
Focus the input
474-
</button>
500+
<button onClick={handleClick}>Focus the input</button>
475501
</>
476502
);
477503
}
478504
```
479505

480506
</Sandpack>
481507

508+
<<<<<<< HEAD
482509
ここでは、`MyInput` 内の `realInputRef` が本物の DOM の input ノードを保持しています。ただし、`useImperativeHandle` は、親コンポーネントに対して渡す ref の値として、独自の特別なオブジェクトを使うよう、React に指示します。そのため、`Form` コンポーネント内の `inputRef.current` には `focus` メソッドのみが含まれます。この例での、ref "handle" とは DOM ノードではなく、`useImperativeHandle` の呼び出し内で作成するカスタムオブジェクトです。
510+
=======
511+
Here, `realInputRef` inside `MyInput` holds the actual input DOM node. However, [`useImperativeHandle`](/reference/react/useImperativeHandle) instructs React to provide your own special object as the value of a ref to the parent component. So `inputRef.current` inside the `Form` component will only have the `focus` method. In this case, the ref "handle" is not the DOM node, but the custom object you create inside [`useImperativeHandle`](/reference/react/useImperativeHandle) call.
512+
>>>>>>> 6ae99dddc3b503233291da96e8fd4b118ed6d682
483513
484514
</DeepDive>
485515

@@ -591,7 +621,7 @@ export default function TodoList() {
591621
const newTodo = { id: nextId++, text: text };
592622
flushSync(() => {
593623
setText('');
594-
setTodos([ ...todos, newTodo]);
624+
setTodos([ ...todos, newTodo]);
595625
});
596626
listRef.current.lastChild.scrollIntoView({
597627
behavior: 'smooth',

src/content/learn/react-compiler.md

+4
Original file line numberDiff line numberDiff line change
@@ -347,7 +347,11 @@ React Comiler は多くの React のルールを静的に検証でき、エラ
347347

348348
### コンポーネントが最適化されたかどうかを知る方法 {/*how-do-i-know-my-components-have-been-optimized*/}
349349

350+
<<<<<<< HEAD
350351
[React Devtools](/learn/react-developer-tools) (v5.0+) には React Compiler のサポートが組み込まれており、コンパイラによって最適化されたコンポーネントの横に "Memo ✨" バッジが表示されます。
352+
=======
353+
[React DevTools](/learn/react-developer-tools) (v5.0+) and [React Native DevTools](https://reactnative.dev/docs/react-native-devtools) have built-in support for React Compiler and will display a "Memo ✨" badge next to components that have been optimized by the compiler.
354+
>>>>>>> 6ae99dddc3b503233291da96e8fd4b118ed6d682
351355
352356
### コンパイル後に何かが動作しない場合 {/*something-is-not-working-after-compilation*/}
353357
eslint-plugin-react-compiler がインストールされている場合、コンパイラはエディタ内で React のルールに対する違反を表示します。これが表示された場合、コンパイラはそのコンポーネントやフックの最適化をスキップしたという意味です。これ自体は全く問題なく、コンパイラは他のコンポーネントの最適化を続けることができます。**すべての ESLint 違反をすぐに修正する必要はありません**。自分のペースで対応して、最適化されるコンポーネントやフックの数を増やしていくことができます。

0 commit comments

Comments
 (0)