2017-04-14 91 views
0

我已經開始學習選擇器和redux了。該應用程序的狀態,如下所示:Redux - 選擇器無法訪問狀態

State unfolded

然後展開:

enter image description here

我想添加選擇,將首先計算總的子陣列的元素,例如(6 + 4 + ...等),但首先要做的事情是:

我已經開始編寫選擇器(現在只是爲了顯示任何東西):

import { createSelector } from 'reselect'; 

const getValues = (state) => state.grid; 

export const getSelected = createSelector(
    [getValues], 
    grid => grid[0] 
); 

然後,容器有:

const mapStateToProps = state => ({ 
    score: state.score, 
    grid: state.grid, 
    values: getSelected(state.grid) 
}); 

但我得到一個錯誤:無法讀取屬性 '0' 的定義。

整個代碼可以在這裏看到: https://github.com/wastelandtime/memgame

請指教。謝謝

+1

您已將'state.grid'傳遞給getSelected而不是'state' –

回答

1

您正在將錯誤的值傳遞給您的選擇器。在您的mapStateToProps中將values: getSelected(state.grid)更改爲values: getSelected(state)