1
선택자를 처음 사용합니다. 나는 다음과 같은 것들을 만들었습니다Redux/Reselect - 셀렉터 재사용
import { createSelector } from 'reselect';
const getValues = (state) => state.grid; // [3, 4, 7, 3, 2, 7, 3,...]
const getTiles = (state) => state.tiles; // [0, 1, 0, 1, 0, 0, 1,...]
// counts selected tiles (ie. adds up all the 1s)
export const getSelected = createSelector(
[getTiles],
tiles => tiles.reduce((acc, elem) => acc + elem, 0)
);
// displays only values of selected tiles, for the rest it shows 0
export const showSelected = createSelector(
[getTiles, getValues],
(tiles, grid) => tiles.map((idx, i) => (idx === 1 ? grid[i] : 0))
);
export const addSelected = createSelector(
[showSelected]
.....
);
/*
export const addSelected = createSelector(
[showSelected],
coun => coun.reduce((acc, elem) => acc + elem, 0)
);
*/
세 번째 선택 (addSelected - 마지막 바닥, 주석 처리 된 버전) 기본적으로 (다른 입력을) 처음과 같은 일을한다. 더 일반적인 방법으로 전체 'reduce'라인을 다시 작성하는 대신 재사용 할 수 있습니까?