를 작동하지 단순히 종류가 댄 아브라모프의 Egghead.io 비디오에서 수행되는 방식과 유사 mapStateToProps
에서 REDUX 데이터를 저장,에 : https://egghead.io/lessons/javascript-redux-colocating-selectors-with-reducers내가 노력하고 mapStateToProps
내 문제는 처음에는 상태가 undefined로 반환되기 때문에 (비동기식으로 가져온 것처럼)이 문제를 처리하는 가장 좋은 방법은 무엇일까요? 내가 transactions.all
처음에 때문에 감속기에서 설정 한 초기 상태의 (코드가 작동 할 의미) 빈 상태 (empty)의 배열이되어야한다고 생각
const diff = (a, b) => {
if (a.name < b.name) {
return -1
}
if (a.name > b.name) {
return 1
}
return 0
}
const mapStateToProps = (state) => {
return {
transactions: _.sort(diff, state.transactions.all),
expenditure: state.expenditure.all,
income: state.income.all
}
}
: 현재 코드는 다음과 같이 (_
가 ramda
라이브러리입니다)입니다
const INITIAL_STATE = { transactions: { all: [] }, transaction: null }
export default function (state = INITIAL_STATE, action) {
switch (action.type) {
case FETCH_TRANSACTION:
return { ...state, transaction: action.payload.data }
case FETCH_TRANSACTIONS:
return { ...state, all: action.payload.data }
case EDIT_TRANSACTION:
return { data: action.data }
case ADD_TRANSACTION:
return { data: action.data }
case DELETE_TRANSACTION:
return { ...state }
default:
return state
}
}
미리 감사드립니다.
확실치 않지만 INITIAL_STATE에는 'transations'키가 없으므로 '_.sort (diff, state.all)'가 아니어야합니다. –
흠 ... 그렇습니다 ... 다른 감속기에도 모두가 있습니다. 그래서 아마도 각각에 대해 더 명시 적으로 표현해야합니다. defaultState = {transactions : {all : []}, 지출 : {all : [}}}; 고마워, 내가 이것을 시도합니다 – zeKoko