2017-01-05 12 views
0

たとえば、ショッピングカートでは、商品がカートに追加されたときにカート状態を更新できますが、同時にどのように商品状態を更新できますか?Reduxで状態の別の部分が変更されたときに状態の一部を更新します

私は、カートリダンダイザと製品リデューサの両方を組み合わせるためにcombineReducersを使用しました。

編集:私は以下の答えを掲載しました。確認してください。

+0

あなたは、カートレジューサーと他のターゲティング製品レデューサーを対象とする2つのアクションを送信できます。 –

+0

あなたは2つのアクションをディスチャッチする必要があります。 –

+3

2つのレデューサーで同じアクションを処理することはできませんか? –

答えて

0

最後に私は答えを見つけました。これは以下のようにして行うことができます。

onClick={() => { 
     addToCart(product.id, product.name, product.price);  
     updateProductList(product.id) 
}} 

これは、1回のクリックで2つの機能を呼び出す方法で、2つの異なる状態を同時に管理できます。プレゼンテーションコンポーネントでこれを呼びました。 対応するアクション&を作成することができます。

ありがとう

0

還元剤を合成することでこれを行うことができます。 2つの異なる減速機を使用してください。状態の異なる部分を変更するために、常に異なる減速器を考える。それは状態の変化をよりきれいにします。したがって、これを達成する1つの方法は、カートの状態を変更するための最初のアクションを送信することです。それが成功すれば、カートの状態が悪いかどうかを確認するためにcomponentWillReceivePropsを使います。もしそうなら、他のアクションを製品に送ってください。

+0

返信いただきありがとうございます。参照やコードを提供すると役に立ちます。 –

関連する問題