Skip to content

Commit 341d1e9

Browse files
authored
Merge pull request #695 from AstroMev/polish-reacting-to-input-with-state
Polish "Reacting to Input with State"
2 parents 8b66299 + 489314e commit 341d1e9

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

src/content/learn/reacting-to-input-with-state.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -379,7 +379,7 @@ state の内容に重複がないようにし、本当に必要なものだけ
379379
380380
自身の state 変数に関して以下のように自問してみるとよいでしょう。
381381
382-
* **この state で矛盾は生じないか?** 例えば、`isTyping` と `isSubmitting` の両方が `true` となることはありえません。矛盾がある state とは通常、state の制約が十分でないことを意味します。2 つのプール値の組み合わせは 4 通りありますが、有効な状態に対応するのは 3 つだけです。このような「ありえない」state を削除するためには、これらをまとめて、`typing`、`submitting`、または `success` の 3 つの値のうちどれかでなければならない `status` という 1 つの state にすればよいでしょう。
382+
* **この state で矛盾は生じないか?** 例えば、`isTyping` と `isSubmitting` の両方が `true` となることはありえません。矛盾がある state とは通常、state の制約が十分でないことを意味します。2 つのブール値の組み合わせは 4 通りありますが、有効な状態に対応するのは 3 つだけです。このような「ありえない」state を削除するためには、これらをまとめて、`typing`、`submitting`、または `success` の 3 つの値のうちどれかでなければならない `status` という 1 つの state にすればよいでしょう。
383383
* **同じ情報が別の state 変数から入手できないか?** もうひとつの矛盾の原因は、`isEmpty` と `isTyping` が同時に `true` にならないことです。これらを別々の state 変数にすることで、同期がとれなくなり、バグが発生する危険性があります。幸い、`isEmpty` を削除して、代わりに `answer.length === 0` をチェックすることができます。
384384
* **別の state 変数の逆を取って同じ情報を得られないか?** `isError` は不要です。なぜなら代わりに `error !== null` をチェックできるからです。
385385

0 commit comments

Comments
 (0)