나는 Redux Reducers docs을 읽고 있는데 상태를 정상화하는 방법을 모르겠다. 이 예의 현재 상태는 다음과 같습니다.React Redux 앱에서 상태를 정규화하는 예제는 무엇입니까?
{
visibilityFilter: 'SHOW_ALL',
todos: [
{
text: 'Consider using Redux',
completed: true,
},
{
text: 'Keep all state in a single tree',
completed: false
}
]
}
아래의 내용을 따르면 위의 내용을 보여줄 수 있습니까?
예를 들어, 유지 todosById : {ID -> 할 일} 및 수행 할 작업 : 배열 내부의 상태는 실제 응용 프로그램에서 더 좋은 생각이 될 것이다, 그러나 우리는 간단 예를 유지하고 있습니다.
왜 결과 배열이 여전히 필요합니까? 나에게 정규화는 데이터 구조를 배열에서 해시로 바꿔 빠른 검색을 수행하지만 여전히 중첩되어 있습니다. 나는 그것이 평평한 것을 보지 못한다 – mangocaptain
@mangocaptain 너는 한 수준 깊숙이 가서 그 데이터를 정상화 할 수있다! 배열은 객체의 원래 배열을 재현하는 데 필요합니다. 예를 들면. 'results.map (id => entities.articles [id])'는 객체의 원래 배열을 반환합니다. 이는 별도의 배열에 대한 하나의 유스 케이스입니다. – Mihir
@mangocaptain 사용자가 UI에서 일부 요소를 삭제하려면'results' 배열에서 해당 요소를 삭제하기 만하면됩니다.그것은 React에서 다시 렌더링을 시작합니다. 다시 렌더링하는 동안'results.map (id => entities.articles [id])'는 업데이트 된 데이터를 생성합니다. 너를 이해하지 못하면 나를 용서해. 그러나 React + Redux를 사용하여 몇 가지 예제 프로젝트를 작성하면 더 잘 이해할 수 있습니다. – Mihir