Skip to content

Commit 2c684c1

Browse files
committed
fix some part according to review
1 parent 44d821c commit 2c684c1

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

content/docs/reference-events.md

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ category: Reference
1010

1111
## 概要
1212

13-
あなたの書くイベントハンドラには、 `SyntheticEvent` のインスタンスが渡されます。これはブラウザのネイティブイベントに対するクロスブラウザ版のラッパです。`stopPropagation()``preventDefault()` を含む、ブラウザのネイティブイベントと同じインターフェイスを持ちます。この 2つ以外はすべてのブラウザで同じように機能します
13+
イベントハンドラには、`SyntheticEvent` のインスタンスが渡されます。これはブラウザのネイティブイベントに対するクロスブラウザ版のラッパです。`stopPropagation()``preventDefault()` を含む、ブラウザのネイティブイベントと同じインターフェイスを持ちつつ、ブラウザ間で同じ挙動をするようになっています
1414

1515
何らかの理由で実際のブラウザイベントが必要な場合は、単に `nativeEvent` 属性を使用するだけで取得できます。すべての `SyntheticEvent` オブジェクトは以下の属性を持っています。
1616

@@ -33,16 +33,19 @@ string type
3333

3434
> 補足
3535
>
36-
> v0.14以降、イベントハンドラから false を返してもイベントの伝播が止まることはなくなりました。代わりに、`e.stopPropagation()` または `e.preventDefault()` を手動で呼び出す必要があります。
36+
> v0.14以降、イベントハンドラから `false` を返してもイベントの伝播は止まりません。代わりに、`e.stopPropagation()` または `e.preventDefault()` を手動で呼び出す必要があります。
3737
3838

3939
### イベントのプール
4040

41-
`SyntheticEvent` はプールされます。つまり、`SyntheticEvent` オブジェクトは再利用され、すべてのプロパティはイベントコールバックが呼び出された後に無効化されます。これはパフォーマンス上の理由からです。そのため、非同期的な方法でイベントにアクセスすることはできません。
41+
`SyntheticEvent` はプールされます。つまり、`SyntheticEvent` オブジェクトは再利用され、すべてのプロパティはイベントコールバックが呼び出された後に `null` で初期化されます。
42+
これはパフォーマンス上の理由からです。
43+
そのため、非同期処理の中でイベントオブジェクトにアクセスすることはできません。
44+
4245

4346
```javascript
4447
function onClick(event) {
45-
console.log(event); // => 無効なオブジェクト
48+
console.log(event); // => null で初期化されるオブジェクト
4649
console.log(event.type); // => "click"
4750
const eventType = event.type; // => "click"
4851

@@ -51,7 +54,7 @@ function onClick(event) {
5154
console.log(eventType); // => "click"
5255
}, 0);
5356

54-
// これは動作しません。this.state.clickEvent はnull値のみを保持します
57+
// これは動作しません。this.state.clickEvent は null 値のみを持つオブジェクトとなります
5558
this.setState({clickEvent: event});
5659

5760
// イベントプロパティをエクスポートすることは可能です。
@@ -61,13 +64,13 @@ function onClick(event) {
6164

6265
> 補足
6366
>
64-
> 非同期処理でイベントのプロパティにアクセスしたい場合は`event.persist()` をイベント内で呼び出す必要があります。これにより、プールから合成イベントが削除され、イベントへの参照をコードで保持できるようになります。
67+
> 非同期処理の中でイベントのプロパティにアクセスしたい場合は`event.persist()` をイベント内で呼び出す必要があります。これにより、合成イベントがイベントプールの対象から除外され、イベントへの参照をコードで保持できるようになります。
6568
6669
## サポートするイベント
6770

6871
React はイベントを正規化して、異なるブラウザ間で一貫したプロパティが保持されるようにしています。
6972

70-
以下のイベントハンドラはイベント伝搬のバブリングフェーズで呼び出されます。キャプチャフェーズのイベントハンドラを登録するには、イベント名に `Capture` を追加します。たとえば、`onClick` の代わりに `onClickCapture` を使用して、キャプチャフェーズでクリックイベントを処理します
73+
以下のイベントハンドラはイベント伝搬のバブリングフェーズで呼び出されます。キャプチャフェーズのイベントハンドラを登録するには、イベント名に `Capture` を追加します。たとえば、キャプチャフェーズでクリックイベントを処理するには `onClick` の代わりに `onClickCapture` を使用します
7174

7275
- [クリップボードイベント](#clipboard-events)
7376
- [コンポジションイベント](#composition-events)
@@ -245,7 +248,7 @@ boolean isPrimary
245248

246249
クロスブラウザサポートについての補足:
247250

248-
すべてのブラウザでポインタイベントがサポートされているわけではありません(この記事の執筆時点でサポートされているブラウザは、Chrome、Firefox、Edge、および Internet Explorer です)。標準に準拠したポリフィルは `react-dom` のバンドルサイズを大幅に増加させるため、Reactは意図的に他のブラウザのポリフィルをサポートしません
251+
すべてのブラウザでポインタイベントがサポートされているわけではありません(この記事の執筆時点でサポートされているブラウザは、Chrome、Firefox、Edge、および Internet Explorer です)。標準に準拠したポリフィルは `react-dom` のバンドルサイズを大幅に増加させるため、React は意図的にその他ブラウザのためのポリフィルを提供しません
249252

250253
アプリケーションでポインタイベントが必要な場合は、サードパーティのポインタイベントポリフィルを追加することをお勧めします。
251254

0 commit comments

Comments
 (0)