2016-10-08 3 views
0

저는 첫 번째 React-Redux 응용 프로그램을 만들고 있습니다. mapStateToProps에 대한 호출이 잘못된 상태 객체를 전달하는 것 같습니다.

(나는 하나가) 내 감속기의 코드입니다 :

const CalculationsReducers = (state = {}, action) => { 
    switch (action.type) { 
     case CalculationsActions.LOAD_CALCULATIONS: 
      return Object.assign({}, state, { 
       calculations: [{ 
        id: 'abc', 
        name: 'test', 
        date: 'test', 
        status: 'in progress' 
       }] 
      }); 
     default: 
      return state; 
    } 
}; 

이 내가) (연결

const mapStateToProps = (s) => { 
    return { 
     calculations: s.calculations ||[] 
    }; 
}; 

사용할 내 'mapStateToProps'기능의 코드 인 경우 I LOAD_CALCULATIONS 유형의 작업을 보내면 (반응 로거를 사용하여) 로그 추적을 볼 수 있지만 상태 개체는 매우 이상하게 보입니다. 누군가 내 잘못을 지적 할 수 있습니까?

log trace using react-logger

답변

0

워크 플로는 나에게 좋아 보인다. 상태 객체도 괜찮아 보이지만 감속기를 가져올 때 별칭을 변경하여 상점을 구성하여보다 직관적으로 만들 수 있습니다. 당신의 구성 저장소 파일에서

: 그것은 기본적으로 CalculationReducer을 내보낼 필요하다는

import calculations from 'reducers/CalculationReducer'; 

참고. 그러면 상태 개체에 CalculationReducer 대신 calculations이 표시됩니다.

그리고 나는 당신의 행동과 함께 payload을 가지고 있지만 감속기에서는 결코 다루지 못했다는 것을 알았습니다. 상태 객체에 필요하면 action.payload을 사용하여 감속기에서 처리하십시오.

관련 문제