2016-08-12 8 views
5

우리는 또한 서비스에서 데이터를 저장하고 얻을 수 있기 때문에 우리는 또한 서비스에서 데이터를 저장하고 얻을 수 있기 때문에 필요한 것은 무엇입니까? 구성 요소각도 2 : 서비스와 redux의 차이

답변

2

서비스는 각도 구현 세부 정보입니다. 반면 redux는 건축 개념입니다. 이 둘은 직접 비교할 수 없습니다.

redux가 Angular에 적용되는 방법에 관심이 있으시면 Comprehensive Introduction to @ngrx/store을 읽는 것이 좋습니다.

+0

는 REDUX – blackHawk

+0

REDUX의 장점을 찬양하는 물질이 많이 있습니다. 찾을 수 없어야합니다. 아마도 더 흥미로운 질문은 이것입니다 : [당신의 모든 상태를 하나의 불변 원자에 저장하는 단점은 무엇입니까?] (https://github.com/reactjs/redux/issues/1385) – cartant

+0

가장 좋은 소스는 무엇입니까? ngrx를 배우십시오, 공식 문서가 있습니까? – blackHawk

14

당신은 redux는 필요하지 않지만 상태를 유지할 방법이 필요합니다. 서비스는하지만, 결국 당신은 redux 또는 ngrx 가게와 비슷한 것을 보내 줄 것입니다.

도전을 고려하십시오. 데이터가 비동기 적으로 수신됩니다. 당신은 반응 적으로 원해. 오류 처리가 필요합니다. 데이터가 업데이트되면 대기 상태를 유지하려고합니다. 하나의 이벤트가 각각의 대기 시간과 오류 경로가있는 여러 작업을 트리거하는 계단식 시나리오가 있습니다.

그리고 여러 구성 요소에서 사용할 수있는 패턴을 설정하려고합니다.

빅터 사빈 (Victor Savkin)은 매우 매끈한 관측 대상을 가지고이를 수행하는 방법이 있습니다. Ngrx는 다른 방법이 있습니다.

서비스를 사용하여 중간 정도의 복잡한 구성 요소를 작성했습니다. 괜찮 았어. 상태가 정의되지 않았고 오류가 발생하는 이상한 상황을 추적하기 위해 시간이 사라졌습니다. 나는 패턴으로 재사용 할 수있는 것을 잡초로 너무 많이 가져 가고있었습니다. 그리고 그 결과는 부서지기 쉽고 부서지기 쉽습니다. 그것은 완전히 반응 적이 지 않으며, 그것이 매우 어렵고 시간 소모적이라는 것을 증명하게 만들었습니다. 나는 그것을 ngrx로 포팅했고, 일단 학습 곡선이 나오면, 이것은 간단하지 않고, 코드가 더 간단 해지고 신속하게 디버깅 할 수있게되었다.

YMMV. 우리가 사용해야하는 이유

Victor Savkin has an article on how to maintain state

+0

빅터 사비 킨 (Victor Savkin)과 관측 할 수있는 링크가 있습니까? –