2017-09-02 2 views
0

私は、レビュックスストアのコレクションが変更されるたびに再レンダリングされる再選択セレクタを持っていますが、入力データで参照されるIDが変更された場合のみ変更します。これは現在のdenormalize機能で可能ですか?非正規化の入力データに記載されているエンティティを使用

コードは次のとおりです。

// TODO: fix rerenders 
const mediaSelector = createSelector(
    ({ media }) => media.byId, 
    ({ documents }) => documents.byId, 
    ({ photos }) => photos.byId, 
    ({ photoSizes }) => photoSizes.byId, 
    ({ files }) => files.locations.byId, 
    (_, { media }) => media, 
    (media, documents, photos, photoSizes, fileLocations, data) => { 
    console.count('Connected Media'); 
    return denormalize(data, schema, { 
     media, 
     documents, 
     photos, 
     photoSizes, 
     fileLocations, 
    }); 
    }, 
); 
const mapState = createStructuredSelector({ 
    media: mediaSelector, 
}); 
const enhance = connect(mapState); 

答えて

0

さて、私は私のNPMパッケージでそれを解決した。これは、normalizrの非正規化

用レンズのようなものです normalizr-entities

関連する問題