Skip to content

Commit 3436f69

Browse files
committed
レビューコメント対応
レビューコメントを踏まえ、 文脈にそぐわない言い回しや日本語として不適切な表現を修正。
1 parent e09d3cb commit 3436f69

File tree

5 files changed

+45
-45
lines changed

5 files changed

+45
-45
lines changed

src/content/learn/react-compiler/debugging.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,32 +16,32 @@ title: デバッグとトラブルシューティング
1616

1717
## コンパイラの動作を理解する {/*understanding-compiler-behavior*/}
1818

19-
React Compiler は [React のルール](/reference/rules)に従うコードを処理するように設計されています。これらのルールに違反する可能性のあるコードに遭遇した場合、アプリケーションの動作を変更するリスクを冒すよりも、最適化を安全にスキップします。
19+
React Compiler は [React のルール](/reference/rules)に従うコードを処理するように設計されています。ルールに違反している可能性のあるコードに遭遇した場合、アプリケーションの動作を変更するリスクを冒すのではなく、最適化を安全にスキップします。
2020

2121
### コンパイラエラーとランタイムエラー {/*compiler-errors-vs-runtime-issues*/}
2222

23-
**コンパイラエラー** はビルド時に発生し、コードのコンパイルを妨げます。コンパイラは問題のあるコードをスキップするように設計されているため、エラーが発生することは稀です
23+
**コンパイラエラー** はビルド時に発生し、コードのコンパイルができなくなってしまうものです。コンパイラは問題のあるコードをエラーを発生させずにスキップするように設計されているため、このようなエラーが発生することは稀です
2424

2525
**ランタイムエラー** は、コンパイル後のコードが想定と異なる動作をした場合に発生します。React Compiler で問題に遭遇した場合、ほとんどの場合はランタイムエラーです。これは通常、コードがコンパイラが検出できない微妙な形で React のルールに違反し、コンパイラがスキップすべきコンポーネントを誤ってコンパイルした場合に発生します。
2626

27-
ランタイムエラーの調査では、影響範囲のコンポーネント内にある ESLint では検出されない React のルール違反の特定に注力してください。コンパイラはコードがこれらのルールに従うことを前提としており、検出できない方法でルールに違反した場合にランタイムエラーが発生します
27+
ランタイムエラーのデバッグにおいては、影響を受けているコンポーネント内にある、ESLint では検出されない React のルール違反の特定に注力してください。コンパイラはコードがこれらのルールに従うことを前提としています。ランタイムエラーが発生するのは、検出できない方法でルール違反が起きている場合なのです
2828

2929

30-
## 一般的な失敗パターン {/*common-breaking-patterns*/}
30+
## 一般的な違反パターン {/*common-breaking-patterns*/}
3131

32-
React Compiler がアプリケーションを失敗させる代表的なパターンの 1 つは、コードが正しく動くことをメモ化に依存して書かれている場合です。つまり、アプリケーションが正常に動作するために、特定の値がメモ化されることに依存している状態です。コンパイラは、手動のアプローチとは異なる方法でメモ化を行う可能性があるため、副作用の過剰な実行や無限ループ、更新の欠落といった予期せぬ動作を引き起こす可能性があります。
32+
React Compiler がアプリケーションの不具合を引き起こす代表的なパターンの 1 つは、コードの正しさがメモ化の存在に依存している場合です。つまり、アプリケーションが正常に動作するために、特定の値がメモ化されることに依存している状態です。コンパイラは、あなたの手動のアプローチとは異なる方法でメモ化を行う可能性があるため、エフェクトの過剰な実行や無限ループ、更新の欠落といった予期せぬ動作を引き起こす可能性があります。
3333

34-
これが発生する一般的なシナリオ
34+
これが発生する一般的なシナリオは以下のようなものです。
3535

36-
- **参照同一性に依存する副作用** - 副作用が、複数回のレンダーでもオブジェクトや配列が同じ参照を保つことを必要とする場合
37-
- **安定した参照を必要とする依存配列** - 依存が不安定だと、エフェクトが過剰に発火したり無限ループを引き起こす場合
36+
- **参照同一性に依存したエフェクト** - エフェクトが、複数のレンダー間でオブジェクトや配列が同じ参照を保つことに依存している場合
37+
- **参照の同一性を仮定した依存配列** - 依存配列が不安定だと、エフェクトの過剰発火や無限ループを引き起こす
3838
- **参照同一性のチェックを条件にしたロジック** - キャッシュや最適化のために参照同一性のチェックを行っている場合
3939

4040
## デバッグ手順 {/*debugging-workflow*/}
4141

4242
問題に遭遇した場合は、以下の手順に従ってください。
4343

44-
### コンパイラエラー {/*compiler-build-errors*/}
44+
### ビルド時のコンパイラエラー {/*compiler-build-errors*/}
4545

4646
コンパイラエラーでビルドが予期せず失敗した場合、これはコンパイラのバグである可能性が高いです。以下の情報を添えて [facebook/react](https://github.com/facebook/react/issues) リポジトリに報告してください。
4747
- エラーメッセージ
@@ -54,7 +54,7 @@ React Compiler がアプリケーションを失敗させる代表的なパタ
5454

5555
### 1. コンパイルを一時的に無効化 {/*temporarily-disable-compilation*/}
5656

57-
問題がコンパイラ起因かを切り分けるために `"use no memo"` を使用します
57+
問題がコンパイラによるものかを切り分けるために `"use no memo"` を使用します
5858

5959
```js
6060
function ProblematicComponent() {
@@ -69,14 +69,14 @@ function ProblematicComponent() {
6969

7070
### 2. 段階的な問題の修正 {/*fix-issues-step-by-step*/}
7171

72-
1. 根本原因を特定する(例:メモ化依存の実装
72+
1. 根本原因を特定する(大抵は動作がメモ化の存在に依存しているため
7373
2. 修正のたびにテストを実施する
7474
3. 修正したら `"use no memo"` を削除する
75-
4. React DevTools でコンポーネントに ✨ バッジを表示することを確認する
75+
4. React DevTools でコンポーネントに ✨ バッジが表示されることを確認する
7676

7777
## コンパイラバグの報告 {/*reporting-compiler-bugs*/}
7878

79-
コンパイラバグを発見したと思われる場合
79+
コンパイラバグを発見したと思われる場合は以下のようにしてください。
8080

8181
1. **React のルール違反ではないことを確認する** - ESLint でチェックする
8282
2. **最小限の再現方法を特定する** - 小さな例で問題を切り分ける

src/content/learn/react-compiler/incremental-adoption.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ React Compiler は段階的に導入でき、まずコードベースの特定
1010

1111
* 段階的な導入が推奨される理由
1212
* ディレクトリ単位で導入するための Babel の overrides の使い方
13-
* 明示的にコンパイルを有効化する use memo ディレクティブの使い方
14-
* コンポーネントを除外する use no memo ディレクティブの使い方
13+
* 明示的にコンパイルを有効化する "use memo" ディレクティブの使い方
14+
* コンポーネントを除外する "use no memo" ディレクティブの使い方
1515
* ランタイムのゲーティングによる機能フラグの運用
1616
* 導入状況のモニタリング方法
1717

@@ -25,17 +25,17 @@ React Compiler はコードベース全体を自動的に最適化するよう
2525

2626
段階的な導入により、コンパイラが見つける可能性のある React のルール違反に対処することも容易になります。コードベース全体の違反を一度に修正するのではなく、コンパイラのカバレッジを拡張しながら体系的に対処できます。これにより、移行作業が管理しやすくなり、バグが混入するリスクを減らします。
2727

28-
コードのどの部分がコンパイルされるかをコントロールすることで、コンパイラの最適化の実際の影響を測定する A/B テストを実行することもできます。このデータは、コンパイラを全体へ適用するか否かを意思決定するための情報として役立ちます
28+
コードのどの部分がコンパイルされるかをコントロールすることで、コンパイラの最適化の実際の影響を測定する A/B テストを実行することもできます。このデータは、コンパイラを全体へ適用するか否かを意思決定したり、コンパイラの価値をチームに示したりするための情報として役立ちます
2929

3030
## 段階的な導入のアプローチ {/*approaches-to-incremental-adoption*/}
3131

32-
React Compiler を段階的に導入する主なアプローチは 3 つあります
32+
React Compiler を段階的に導入する主なアプローチは 3 つあります
3333

3434
1. **Babel overrides** - 特定のディレクトリにコンパイラを適用
3535
2. **"use memo" によるオプトイン** - 明示的にオプトインしたコンポーネントのみをコンパイル
3636
3. **ランタイムゲーティング** - フィーチャーフラグでコンパイルをコントロール
3737

38-
すべてのアプローチにより、全体への展開前にアプリケーションの特定の部分でコンパイラをテストできます
38+
どのアプローチを使っても、全体への展開前にアプリケーションの特定の部分のみでコンパイラのテストが可能です
3939

4040
## Babel Overrides によるディレクトリベースの導入 {/*directory-based-adoption*/}
4141

@@ -64,7 +64,7 @@ module.exports = {
6464

6565
### カバレッジの拡張 {/*expanding-coverage*/}
6666

67-
信頼を築いたら、より多くのディレクトリを追加します。
67+
自信が出てきたら、より多くのディレクトリを追加します。
6868

6969
```js
7070
// babel.config.js
@@ -171,7 +171,7 @@ function useSortedData(data) {
171171
- すべてのカスタムフックに `"use memo"` を追加
172172
- 新しいコンポーネントに追加することを忘れない
173173

174-
これにより、コンパイラの影響を評価しながら、どのコンポーネントがコンパイルするかを正確にコントロールできます
174+
これにより、コンパイラの影響を評価しながら、どのコンポーネントをコンパイルするかを正確にコントロールできます
175175

176176
## ゲーティング機能によるフィーチャーフラグ制御 {/*runtime-feature-flags-with-gating*/}
177177

@@ -211,7 +211,7 @@ export function isCompilerEnabled() {
211211

212212
## 導入時のトラブルシューティング {/*troubleshooting-adoption*/}
213213

214-
導入中に問題が発生した場合
214+
導入中に問題が発生した場合は、以下のようにしてください。
215215

216216
1. `"use no memo"` を使用して問題のあるコンポーネントを一時的に除外
217217
2. 一般的な問題については[デバッグガイド](/learn/react-compiler/debugging)を確認
@@ -220,6 +220,6 @@ export function isCompilerEnabled() {
220220

221221
## 次のステップ {/*next-steps*/}
222222

223-
- より多くのオプションについては[設定ガイド](/reference/react-compiler/configuration)を確認する
223+
- さまざまなオプションについて[設定ガイド](/reference/react-compiler/configuration)を確認する
224224
- [デバッグテクニック](/learn/react-compiler/debugging)について学ぶ
225225
- すべてのコンパイラオプションについては [API リファレンス](/reference/react-compiler/configuration)を確認する

src/content/learn/react-compiler/index.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,16 @@ title: React Compiler
44

55
## はじめに {/*introduction*/}
66

7-
[React Compiler の機能](/learn/react-compiler/introduction)について学び、`useMemo``useCallback``React.memo` による手動メモ化が不要になる、React アプリケーションを自動的に最適化する仕組みを理解しましょう
7+
[React Compiler の機能](/learn/react-compiler/introduction)について知り、React アプリケーションを自動的に最適化して `useMemo``useCallback``React.memo` による手動メモ化を不要にしてくれる仕組みについて理解しましょう
88

99
## インストール {/*installation*/}
1010

11-
[React Compiler のインストール](/learn/react-compiler/installation)から、ビルドツールとの設定方法を学びましょう
11+
[React Compiler のインストール](/learn/react-compiler/installation)を行い、ビルドツールと組み合わせるための設定方法を学びましょう
1212

1313

1414
## 段階的な導入 {/*incremental-adoption*/}
1515

16-
横断的に有効にする準備がまだできていない場合は、既存のコードベースで [React Compiler を段階的に導入する戦略](/learn/react-compiler/incremental-adoption)を学びましょう。
16+
全面的に有効にする準備がまだできていない場合に、既存のコードベースで [React Compiler を段階的に導入する戦略](/learn/react-compiler/incremental-adoption)を学びましょう。
1717

1818
## デバッグとトラブルシューティング {/*debugging-and-troubleshooting*/}
1919

src/content/learn/react-compiler/installation.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ title: インストール
99
<YouWillLearn>
1010

1111
* React Compiler のインストール方法
12-
* 異なるビルドツールでの基本的な設定
12+
* さまざまなビルドツールでの基本的な設定
1313
* セットアップが正常に動作しているかの確認方法
1414

1515
</YouWillLearn>
@@ -42,10 +42,10 @@ pnpm install -D babel-plugin-react-compiler@latest
4242

4343
React Compiler は、デフォルトで設定なしで動作するように設計されています。ただし、特別な状況で設定が必要な場合(例えば、React 19 未満のバージョンを対象とする場合)は、[コンパイラオプションリファレンス](/reference/react-compiler/configuration)を参照してください。
4444

45-
セットアッププロセスは使用するビルドツールによって異なります。React Compiler には、ビルドパイプラインと統合する Babel プラグインが含まれています。
45+
セットアッププロセスは使用するビルドツールによって異なります。React Compiler には、ビルドパイプラインと統合して動作する Babel プラグインが含まれています。
4646

4747
<Pitfall>
48-
React Compiler は Babel プラグインパイプラインで **最初に** 実行される必要があります。コンパイラは適切な解析には元のソース情報が必要なため、他の変換より前に処理する必要があります
48+
React Compiler は Babel プラグインパイプライン内で**最初に**実行される必要があります。コンパイラが適切な解析を行うためにはオリジナルのソース情報が必要なため、他の変換より前に処理する必要があるのです
4949
</Pitfall>
5050

5151
### Babel {/*babel*/}
@@ -82,7 +82,7 @@ export default defineConfig({
8282
});
8383
```
8484

85-
または、Vite 用の別の Babel プラグインを使用したい場合
85+
または、Vite 用の Babel プラグインを別に使用したい場合は以下のようにします。
8686

8787
<TerminalBlock>
8888
npm install -D vite-plugin-babel
@@ -164,7 +164,7 @@ Rsbuild アプリで React Compiler を有効にして使用する方法につ
164164

165165
## ESLint 統合 {/*eslint-integration*/}
166166

167-
React Compiler には、最適化できないコードを特定するのに役立つ ESLint ルールが含まれています。ESLint ルールがエラーを報告した場合、コンパイラがその特定のコンポーネントやフックの最適化をスキップします。その場合は、コンパイラはコードベースの他の部分の最適化を続けるので、すべての違反をすぐに修正する必要はありません。自分のペースで対処し、最適化されるコンポーネントの数を徐々に増やしていってください。
167+
React Compiler には、最適化できないコードを特定するのに役立つ ESLint ルールが含まれています。ESLint ルールがエラーを報告する場合、コンパイラによるそのコンポーネントやフックの最適化がスキップされるという意味です。これは安全です。コンパイラはコードベースの他の部分の最適化を続けるので、すべての違反をすぐに修正する必要はありません。自分のペースで対処し、最適化されるコンポーネントの数を徐々に増やしていってください。
168168

169169
ESLint プラグインをインストールします。
170170

@@ -185,21 +185,21 @@ ESLint ルールは以下を行います。
185185

186186
### React DevTools による確認 {/*check-react-devtools*/}
187187

188-
React Compiler によって最適化されたコンポーネントは、React DevTools でMemo ✨バッジが表示されます。
188+
React Compiler によって最適化されたコンポーネントは、React DevTools で "Memo ✨" バッジが表示されます。
189189

190190
1. [React Developer Tools](/learn/react-developer-tools) ブラウザ拡張機能をインストール
191191
2. 開発モードでアプリを開く
192192
3. React DevTools を開く
193193
4. コンポーネント名の横にある ✨ 絵文字を探す
194194

195195
コンパイラが動作している場合
196-
- コンポーネントは React DevTools でMemo ✨バッジを表示
196+
- コンポーネントは React DevTools で "Memo ✨" バッジを表示
197197
- 高コストな計算が自動的にメモ化される
198198
- 手動の `useMemo` は不要
199199

200200
### ビルド出力の確認 {/*check-build-output*/}
201201

202-
また、ビルド出力を確認することでコンパイラが動作していることを確認できます。コンパイルされたコードには、コンパイラが自動的に追加する自動メモ化ロジックを含めます
202+
また、ビルド出力を確認することでもコンパイラが動作していることを確認できます。コンパイルされたコードには、コンパイラが自動的に追加する自動メモ化ロジックが含まれています
203203

204204
```js
205205
import { c as _c } from "react/compiler-runtime";

0 commit comments

Comments
 (0)