2016-09-14 5 views
0

백엔드에서 json 데이터를 수신하고 있으며이 데이터를 내 redux 저장소에 상태로 저장하려고합니다.json을 redux 상태로 저장

 case "data_update": 
     return Immutable.Map(action.data); 

가 좋은 이유가있을 수 있습니다 :이 작업이 완료 내가 코드에서 일하고 있어요

reducer(state = initialState, action = {}) 
{ 
    switch(action.type) 
    { 
     case "data_update": 
      return Immutable.fromJS(action.data); 
     default: 
      return state; 
    } 
} 

을 : 내가 아래처럼 깊이 불변이 데이터를 변환 할 수있는 올바른 접근 방법은 항상 이러는거야? 이 이유는 무엇일까요?

답변

0

데이터를 Map으로 변환하는 것은 완전히 선택 사항입니다! Immutable을 전혀 사용하지 않도록 선택할 수 있습니다. Redux의 핵심 개념은 국가를 저장하는 것이며 변경하지 않기 때문에 사람들은 Immutable을 사용하여 상태를 고정시키기 시작했습니다. 이모티콘을 모두 건너 뛰면 완벽하게 괜찮습니다.

깊이 불변의 모음으로 데이터를 변환하는 실수로이 같은 상태를 돌연변이에서 우리를 방지 -

reducer(state = initialState, action = {}) 
{ 
    switch(action.type) 
    { 
     case "data_update": 
      state.users = action.payload; 
      break; 
     default: 
      return state; 
    } 
} 
+0

나는 그들이 원하는대로 일을 할 수 있지만,이에 데이터의 얕은 변환을 수행하는 의미가 않습니다 이해 Immutable.Map을 통해 불변의 컬렉션 이상하게 보입니다. – Baz

+0

@Baz 우리는 우리 제품에 불변을 많이 사용했습니다. 말된다! – Mihir

+0

불변은 의미가 있지만 결과 객체가 변경되지 않으므로 깊게 중첩 된 json 객체에 대해 Immutable.Map을 사용하는 것을 볼 수있는 한 이해가되지 않습니다. – Baz

관련 문제