2017-08-24 6 views
3

を生成:ネストされたcombineReducersは、私は、この構造を与えるために巣に自分の減速をしようとしている未定義の値

state: { 
    data: { 
    dataSetOne: { 
     items: [], 
     filter: { 
     query: "", 
     includeInactive: false 
     } 
    } 
    } 
} 

マイファイル構造は次のとおりです。index.js

--reducers 
    |__index.js 
    |__data 
    |__dataSetOne.js 

私はdataSetOne.jsと輸出combineReducers({ dataSetOne })をインポートします。これはうまく動作します。しかし、dataSetOne.jsでは、ネストすることはできませんfilter。私が持っているもの:

import { combineReducers } from "redux"; 

function items (state = [], action) { 
    ... 
} 

function query (state = "", action) { 
    ... 
} 

function includeInactive (state = false, action) { 
    ... 
} 

export default combineReducers({ 
    filter: combineReducers({ 
    includeInactive, 
    query 
    }), 
    items 
}); 

この作品の一部です。 state.data.dataSetOne.itemsに問題なくアクセスできます。ただし、filterundefinedです。 dataSetOneオブジェクトには存在しません。

私は、combineReducersの仕組みを誤解しているに違いありませんが、なぜこれが機能しないのかわかりません。

答えて

0

わかりました。私はredux-persistlocalforageを使って、私の店をリフレッシュしても存続させています。どうやら、これは何とか問題を引き起こしていたようだ。私はlocalforageデータベースをクリアし、すべて正常に動作します。

しかし、私は単純にfunctionをレデューサーに追加することができるので、ストレージをクリアすることなく、combineReducersの仕組みを完全に理解してはいけません。

誰でもこの動作を説明できる場合は、回答としてマークします。

関連する問題