ユーザーは、ボタンをクリックして、クリックが行われたときの対応する時刻を示すタイムスタンプのリストを作成できます。ユーザーは、リスト上の項目をクリックして項目を削除することもできます。店舗の一部は他の部分に頼っている
店舗では、ボタンがクリックされた回数を記録したカウンタ状態があります。次に、タイムスタンプのリストを追跡する別の状態があります。リスト状態の各項目は、カウンタ状態から派生したidフィールドを持っています。したがって、ストアの一部は別の部分に依存します。
試みとして、私は1つのアクションをディスパッチし、両方のレデューサーは同じアクションを処理し、うまく動作しますが、それはDRYではないということだけです。ディスパッチする前に、アクションペイロードとして使用する新しいIDを取得するためにカウンタ状態に1を加えなければなりません。ディスパッチ後にカウンタ状態に1を加えて新しいカウンタ状態に戻します。それは自分自身を繰り返す。
このような問題を処理する一般的な標準方法は何ですか?
サンクを使用しないでコンポーネントから2つのアクションをディスパッチするのとどのように違いますか? – Andy
違いはもちろんカプセル化です:あなたのコンポーネントは、自分のものをやりたいときに何が起こるのかを知る必要はありません。コンポーネントとアクション作成者を孤立してテストする方が簡単です。これはあなたの問題に対する一般的な解決策ですが、さまざまなシナリオではここで少し微調整する必要があります。 :) – CharlieBrown