2017-06-22 4 views
0

を実行しません。ただし、getSelectedProductProductは実行されていません。私は間違って何をしていますか?再選択セレクタは、私は別のセレクターの引数として再選択セレクタを使用しようとしている

彼らは、コンポーネントで使用している:

const mapStateToProps = (state) => ({ 
    region: state.get('map').get('region'), 
    markers: state.get('searchResults').get('products'), 
    selectedProduct: getSelectedProduct(state), 
    selectedProductProduct: getSelectedProductProduct(state) 
}) 

アクションデフ

enter image description here

Reduxの状態

enter image description here

トップイメージにdiffを引き起こすreducexアクションは、getSelectedProductProductを実行しません。私はコンポーネントがそのフィールドが変更されたことを知っているとは思わない。私はこれをさらに調査しています。コンポーネントが変更を登録するにはフィールドが深くネストされているかどうかわかりません。

答えて

0

getSelectedProductフィルタsearchResults.products.shopのように見えますが、動作は変更中ですsearchResults.products.products[1].selectedしたがって、getSelectedProductは毎回同じ値をそのまま返します。そのため、getSelectedProductProductは再計算されません。

+0

ありがとうございました。私のデータの形は '{shop:shopFields、products:productsArray} 'のようなもので、私の' shop'はそのアクションから変化していません。私の「製品」は。しかし、 'getSelectedProduct'は' {shop:shopFields、products:productsArray} 'オブジェクト全体を返します。私はこれを確認し、 'Object {shop:Object、products:Array(6)} 'を返しました。これは、私の行動が作用する「製品」を返すことを意味します。したがって、 'getSelectedProducts'が返すオブジェクトはアクションから変更されます。 – user2602079

関連する問題