1. ホーム
  2. javascript

reduxの定数のポイントは何ですか?

2023-09-17 18:40:32

質問

例えばこの例から。

export const ADD_TODO = 'ADD_TODO'
export const DELETE_TODO = 'DELETE_TODO'
export const EDIT_TODO = 'EDIT_TODO'
export const COMPLETE_TODO = 'COMPLETE_TODO'
export const COMPLETE_ALL = 'COMPLETE_ALL'
export const CLEAR_COMPLETED = 'CLEAR_COMPLETED'

文字を保存しているわけではありません。変数名は文字列と全く同じであり、決して変わることはない。ある日突然こんなことをするのであれば、定数を作るのもわかりますが。

ADD_TODO = 'CREATE_TODO'

という定数がありますが、これは決して起こりません。では、これらの定数は何のためにあるのでしょうか?

どのように解決するのでしょうか?

私は引用したい dan_abramov のコメントから引用します。

<ブロッククオート

なぜこれが有益なのでしょうか?定数は不要だとよく言われますし、小さなプロジェクトでは、これは正しいかもしれません。大規模なプロジェクトでは、アクション タイプを定数として定義することにいくつかの利点があります。

  • すべてのアクションタイプが1つの場所に集められるため、ネーミングの一貫性を保つことができます。

  • 時には、新しい機能に取り組む前に、すべての既存のアクションを見たいことがあります。あなたが必要とするアクションは、チームの誰かによってすでに追加されていたかもしれませんが、あなたは知りませんでした。

  • Pull Requestで追加、削除、変更されたアクションタイプのリストは、チームの全員が新機能のスコープと実装を追跡するのに役立ちます。

  • アクション定数をインポートする際にタイプミスをした場合、未定義になります。これは、アクションがディスパッチされたときに何も起こらないことを不思議に思うとき、タイプミスよりもはるかに簡単に気づくことができます。

以下、リンク先です。 Github イシュー