Skip to content

Commit ca74af2

Browse files
committed
微修正
1 parent 7176839 commit ca74af2

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

src/content/reference/react-dom/findDOMNode.md

+9-9
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ const domNode = findDOMNode(componentInstance);
3838

3939
#### 引数 {/*parameters*/}
4040

41-
* `componentInstance`: [Component](/reference/react/Component) サブクラスのインスタンス。例えば、クラスコンポーネントにある this。
41+
* `componentInstance`: [Component](/reference/react/Component) サブクラスのインスタンス。例えば、クラスコンポーネントにある this になります
4242

4343

4444
#### 返り値 {/*returns*/}
@@ -124,7 +124,7 @@ export default AutoselectingInput;
124124

125125
### ref からコンポーネントの独自の DOM ノードを読み取る {/*reading-components-own-dom-node-from-a-ref*/}
126126

127-
`findDOMNode` を使用するコードは壊れやすいです。なぜなら JSX ノードと対応する DOM ノードを操作するコードとの間の接続が明示的でないためです。例えば、この `<input />``<div>` でラップしてみてください。
127+
`findDOMNode` を使用しているコードは壊れやすいです。なぜなら JSX ノードと対応する DOM ノードを操作するコード間の接続が明示的でないためです。例えば、この `<input />``<div>` でラップしてみてください。
128128

129129
<Sandpack>
130130

@@ -165,7 +165,7 @@ export default AutoselectingInput;
165165

166166
</Sandpack>
167167

168-
このコードは壊れます。なぜなら、`findDOMNode(this)``<div>` DOM ノードを見つけるようになったからですが、コードは `<input>` DOM ノードを期待しています。このような問題を避けるために、特定の DOM ノードを管理するために [`createRef`](/reference/react/createRef) を使用してください。
168+
このコードは壊れるでしょう。なぜなら、コードは `<input>` DOM ノードを期待していましたが、`findDOMNode(this)``<div>` DOM ノードを見つけたためです。このような問題を避けるために、特定の DOM ノードを管理するために [`createRef`](/reference/react/createRef) を使用してください。
169169

170170
この例では、`findDOMNode` は使用されていません。代わりに、`inputRef = createRef(null)` がクラスのインスタンスフィールドとして定義されています。DOM ノードを読み取るには、`this.inputRef.current` を使用できます。それを JSX にアタッチするには、`<input ref={this.inputRef} />` をレンダーします。これにより、DOM ノードを使用するコードがその JSX に接続されます。
171171

@@ -212,7 +212,7 @@ export default AutoselectingInput;
212212

213213
</Sandpack>
214214

215-
クラスコンポーネントがないモダンな React では、代わりに [`useRef`](/reference/react/useRef) を呼び出すコードになります
215+
クラスコンポーネントがないモダンな React では、代わりに [`useRef`](/reference/react/useRef) を呼び出した同等のコードになります
216216

217217
<Sandpack>
218218

@@ -305,7 +305,7 @@ export default function MyInput() {
305305

306306
</Sandpack>
307307

308-
`AutoselectingInput` 内にある `findDOMNode(this)` を呼び出すと、DOM の `<input>` を取得します。しかし、この `<input>` の JSX は `MyInput` コンポーネントの中に隠れています。この上の例では便利に思えますが、壊れやすいコードになりやすいです。後で MyInput を編集して、それをラップする `<div>` を追加するとどうなるでしょうか。`AutoselectingInput` のコードが壊れます(`<input>` が見つかることを期待している)。
308+
`AutoselectingInput` 内にある `findDOMNode(this)` を呼び出すと、DOM の `<input>` を取得します。しかし、この `<input>` の JSX は `MyInput` コンポーネントの中に隠れています。この上の例では便利に思えますが、壊れやすいコードになりやすいです。`MyInput` を編集して、それをラップする `<div>` を追加するとどうなるでしょうか。`AutoselectingInput` のコードが壊れます(`<input>` が見つかることを期待している)。
309309

310310
この例の `findDOMNode` を置き換えるには、2 つのコンポーネントが連携する必要があります:
311311

@@ -368,7 +368,7 @@ export default MyInput;
368368

369369
</Sandpack>
370370

371-
以下は、クラスコンポーネントの代わりに関数コンポーネントを使用した場合のコードの見た目です
371+
クラスの代わりに関数コンポーネントを使用するとコードはどうなるのでしょうか
372372

373373
<Sandpack>
374374

@@ -422,14 +422,14 @@ export default MyInput;
422422

423423
### `<div>` 要素のラッパーを追加する {/*adding-a-wrapper-div-element*/}
424424

425-
コンポーネントは時々、子要素の位置やサイズを知る必要があります。`findDOMNode(this)` で子要素を見つけ、`getBoundingClientRect` のような測定するために DOM メソッドを使用できるのは魅力になります
425+
コンポーネントは時々、子要素の位置やサイズを知る必要があります。そのため、`findDOMNode(this)` で子要素を見つけ、`getBoundingClientRect` のような DOM メソッドを使って計測したくなります
426426

427-
現在、このユースケースに直接対応できるものは存在しないため、`findDOMNode` が非推奨となっていますが、まだ完全に React から削除されていません。その間、コンテンツの周りにラッパーとして `<div>` ノードをレンダーし、そのノードへの ref を取得するという回避策を試すことができます。ただし、余分なラッパーはスタイリングを壊す可能性があります。
427+
現在、このユースケースに直接対応できるものは存在しないため、`findDOMNode` が非推奨となっていますが、まだ完全に React から削除されていません。その間、コンテンツの周りにラッパーとして `<div>` ノードをレンダーし、そのノードへの ref を取得するという回避策を試せます。ただし、余分なラッパーはスタイリングを壊す可能性があります。
428428

429429
```js
430430
<div ref={someRef}>
431431
{children}
432432
</div>
433433
```
434434

435-
これは、任意の子要素にフォーカスしたり、スクロールしたりする場合にも適用されます
435+
これは、任意の子要素にフォーカスや、スクロールにも適用されます

0 commit comments

Comments
 (0)