2017-05-09 2 views
1

조치 내부에서 업데이트 된 요소 배열이 있습니다. 이제 저장소에서 업데이트하려고합니다.오브젝트 내부의 배열 바꾸기 - 감속기

navigation 
|_navigationItems:[{1:"foo"}, {2:"bar"}, {3:"foobar"}] 

것은 내가 다음을 수행했다입니다 :

case types.UPDATE_NAVIGATION: 
    return Object.assign({}, state, { 
    navigationItems: action.payload.items, 
    }); 

항목은 다음과 같습니다 [{1:"zoo"}, {2:"foobar"}]

하지만 저장소가 성공적으로 업데이트되지 않은 현재 내가 좋아하는 뭔가가있다.

내가 뭔가를 놓쳤습니까?

+0

이 액션이 트리거 받고있다. 이 case 문 내에서 console.log()를 사용하여 결과를 얻는 지 확인할 수 있습니다. –

+0

'case'가 호출 된 직후에'console.log()'를 넣었습니다. 배열을 업데이트했습니다. – FacundoGFlores

+1

확산 연산자 구문을 사용하십시오 :'case types.UPDATE_NAVIGATION : return {... state, navigationItems : action.payload.items}' –

답변

1

Object.assign

사용을 통해 확산 연산자 구문을 사용하여 문서가 제안 반작용 :

case types.UPDATE_NAVIGATION: 
    return { 
     ...state, navigationItems: action.payload.items 
    } 
+0

Object.assign이 효과가 있었음에 틀림 없다. 내가 볼 수있는 한 올바르게 수행했다. –

+0

이 답변을 참조 할 수도 있습니다 http://stackoverflow.com/questions/43376849/using-object-assign-in-react-redux-is-a-good-practice, 자세한 정보를 제공합니다. –

관련 문제