2016-07-20 2 views
1

redux reducer 단계의 경우 : initial_state의 단일 속성 만 변경하려는 경우 어떻게해야합니까? 예를 들어 :Redux reducer의 상태를 반환하는 방법

여기
const INITIAL_STATE = { 
    signInInfo: { 
    signin: false, 
    name: "", 
     email: "", 
    ... 
    }, 
    changePassword: { 
    status: false, 
    ... 
    } 
    ... 
}; 

난 단지 true으로 signInInfo.signin을 설정할가, 현재, 내가 아는 유일한 방법은 입력과 같은 완전한 "signInInfo"입니다 :

case SIGNIN_USER: 
    return { ...state, signInInfo: action.payload.data }; 

action.payload.data하는 것은 같은 것입니다 :

{ 
    signin: true, 
    name: "Qing", 
    email : ... 
} 

또 다른 질문은 signInInfo.signinfalse으로 설정하고 한편으로는 0을 변경해야하는 경우입니다.은 false에서 true까지입니다. 어떻게해야합니까? 아무도 내게 힌트를 줄 수 있습니까?

답변

1

매우 간단 (두 질문) :

case SIGNIN_USER: return { 
    ...state, 
    signInInfo: { 
     ...state.signInInfo, 
     signin: action.payload.signin 
    }, 
    changePassword: { 
     ...state.changePassword, 
     status: true 
    } 
    }; 
+0

나는 새로운 문제가 발생했습니다 :이 상태에서 객체 배열이며, 난 단지 편곡과 같이 true로 [0] .flag을 설정하려면 무엇을 해야합니까? 나는 단지 위에 표시된 종류의 표현에서 arr을 어떻게 표현할 지 모르겠습니다. 고맙습니다! – user6557921

+0

'return [{... state [0], flag : action.payload}, ... state.slice (1)];'https://github.com/reactjs/redux/blob/master/examples//src/reducers/todos.js # L33 http://redux.js.org/docs/basics/Reducers.html – DDS

관련 문제