2017-03-13 1 views
3

안녕하세요 저는 Angular 2와 React + Redux를 지금 공부하고 있는데 두 가지 선택의 데이터 흐름의 차이점에 대한 질문이 있습니다.Angular 2 Data Flow와 Flux의 중요한 차이점은 무엇입니까?

  1. 각도 2는 기본적으로 단일 방향 데이터 흐름을 사용합니다. Redux는 (또한) 단방향 데이터 흐름을 사용하는 Flux 구현입니다. 그 중 중요한 차이점은 무엇입니까? (어쩌면 부품의 구성입니까?)
  2. 두 가지가 데이터 흐름의 관점에서 크게 다르지 않다면 왜 Flux 또는 Redux를 각도 2 프레임 워크의 기본 선택보다 사용해야합니까?
  3. 두 가지가 아주 다른 경우 두 가지를 비교할 추가 참조를 위해 Angular 2의 데이터 흐름을 호출 할 수있는 이름이 있습니까?

미리 감사드립니다.

답변

3

그 두 너무 많은 다른 데이터, 왜 사람이 각도 2 프레임 워크의 기본 선택을 통해 유출 또는 돌아 오는을 사용 흐름 방법의 측면에서하지 않은 경우?

앵글은 주로 프레임 워크에서 상태 관리가 미리 정의되지 않은 상태에서 UI 레이어 (구성 요소)를 제공합니다. 각도에는 서비스가 있기 때문에 비즈니스 논리를 서비스 (상태 저장 서비스) 및 UI 상태 (구성 요소)로 유지할 수 있지만 서비스/구성 요소간에 분산 될 때 상태를위한 단일 위치가 없음을 의미합니다.

각도 응용 프로그램에서 redux을 사용하는 주된 이유는 UI 레이어를 데이터 레이어와 분리하기 위해서입니다. redux에서 상태는 컴포넌트 생성자 (check this setup)에 주입 된 특수 서비스를 통해 UI 레이어 (구성 요소)와 동기화되는 별도의 레이어 (단일 트리와 유사한 객체로 생각)로 분리됩니다.

두 가지가 아주 다른 경우 전화 할 수있는 이름이 있습니까 더 자세한 참조를 위해 각도 2의 데이터 흐름을 비교할 수 있습니까?

나는 프레임 워크가 프레젠테이션에 초점을 맞추고 있기 때문에 위에서 언급했듯이 하나도 만나지 않았습니다. 상태가 아닙니다.

+0

답변 해 주셔서 감사합니다. 추가 질문이 1 개 있습니다.필자가 아는 한 Flux (FB의 플럭스 구현)는 Redux가하는 것처럼 모든 주에 대해 하나의 저장소를 사용하도록 강요하지 않습니다. Flux는 Angular 서비스에서 비즈니스 로직을 갖는 것과 일반적으로 비슷합니까? – sangyongjung

+0

@Sangyongjung, 나는 Flux에 대한 많은 경험이 없지만, 그렇다고 생각한다. 어떤면에서는 비슷하다. –

2

각도 2로 Redux를 사용하면 응용 프로그램 상태를 구성 요소와 완전히 다른 단일 위치, 즉 저장소에서 중앙 집중화 할 수 있습니다.

그런 다음 구성 요소에 상태 비 저장이 가능하므로 이러한 구성 요소의 내부 변경 감지 기능을 비활성화 할 수 있습니다.

@Component({ 
    changeDetection: ChangeDetectionStrategy.OnPush 
}) 
class myComponent { 
    @Input() inputFromTheStore: Observable<State>; 
} 

실제로 위의 예는 상태 스트림을 연결하는 상태 비 저장 구성 요소입니다.

각도 2는 기본적으로 단방향 데이터 흐름을 사용

또한 귀하의 질문에 대답합니다. Redux는 Flux 구현이며, 또한 (또한) 단방향 데이터 흐름을 사용합니다. 은 그 중대한 차이점은 무엇입니까? (아마, 부분의 구성입니까?)

중요한 차이점은 Redux를 사용하면 상태가 항상 @Input()을 통해 위에서 오는 것입니다. 상태가 @Input()@Output()을 통과 할 수있는 기존의 angular2 statefull 구성 요소와 달리

+0

ver 많은 감사합니다! – sangyongjung

관련 문제