2017-09-04 1 views
0

Angular v4와 함께 NGRX를 사용하고 있습니다.redux를 사용할 때 효과가있는 상태에 액세스하는 반 패턴입니까?

현재 패턴의 예는 다음과 같습니다.

  1. Dispatch BEGIN_AUTH 일부 물건을 처리하고 상점을 업데이트하는 작업.
  2. Displatch COMPLETE_AUTH 작업.

COMPLETE_AUTH 동작이 동작합니다 (COMPLETE_AUTH의 부작용)이 API를 호출하기 위해 그 데이터를 얻을 수있는 저장소를 액세스 할 필요는 "청취"취지.

NGRX에서는 상점에서 최신 버전을 가져 오는 방법이 제거되었으므로 (https://github.com/ngrx/store/issues/147 참조) 최신 스토어 데이터를 얻으려면 효과 내에서 .withLatestFrom(...)을 사용하는 것이 좋습니다.

그러나 저장소 데이터가 관찰 가능하고 항상 구독해야하므로 저장소에서 최신 값을 가져 오는 것이 항상 반대 패턴인지에 대해 생각하고 있습니다.

이 경우입니까?

예를 들어, 나는 상점에서 다양한 것을 구독하고 있습니다. 하지만이 경우 API 호출을 위해 상점의 데이터가 필요합니다.

앞으로 나아갈 수있는 가장 좋은 방법은 무엇입니까?

답변

2

그러나,이 날 저장소 데이터가 관찰하고 난 항상 여기에 가입해야합니다으로 에서 저장소를 최신 값을 받고 항상 안티 패턴 인 경우에 관해서 생각하고 있어요.

이 경우입니까?

귀하의 질문은 상당히 광범위하지만 짧은 대답은 아니오입니다. 최신 값을 얻는 것은 안티 패턴이 아니며 RXj의 일반적인 경우입니다. 또한 동기 동작이 될 수 있다는 점에 유의해야합니다. (이 API의 변화가 많은 사람들을 혼동 이유입니다.)

https://github.com/ngrx/store/blob/6a588ad755cc6511368a084b1bac94b260d24ed1/README.md#getstate-getvalue-and-value

경미하게 더 이상 대답은 그것이 당신의 문이 결국 구성 방법에 따라 나쁜 패턴이 될 수 있다는 것입니다.

관련 문제