Thinking in ReactJS and Flux

1478 단어

About Dispatcher


When new data comes into the dispatcher, it then uses these callbacks to propagate that data to all of the stores
다시 말하면 비동기적인 일, 예를 들어 서버에 데이터를 가져오는 것은 디스패치 이전에 이루어진 것이고 데이터플로우가store에 도착하면 바로view에 반영될 것이다.

스토어 간에 의존 관계가 있는 경우


As an application grows, dependencies across different stores are a near certainty. Store A will inevitably need Store B to update itself first, so that Store A can know how to update itself. We need the dispatcher to be able to invoke the callback for Store B, and finish that callback, before moving forward with Store A. To declaratively assert this dependency, a store needs to be able to say to the dispatcher, “I need to wait for Store B to finish processing this action.” The dispatcher provides this functionality through its waitFor() method.
waitFor로 해결하겠습니다.
홈페이지의 이 예는 괜찮다. 주로 한 국가가 갱신할 때 대응하는 도시도 함께 갱신되고 가장 관건적인 코드
CityStore.dispatchToken = flightDispatcher.register(function(payload) {
  if (payload.actionType === 'country-update') {
    // `CountryStore.country` may not be updated.
    flightDispatcher.waitFor([CountryStore.dispatchToken]);
    // `CountryStore.country` is now guaranteed to be updated.

    // Select the default city for the new country
    CityStore.city = getDefaultCityForCountry(CountryStore.country);
  }
});

CityStore임에도 불구하고 country-update 이벤트에 여전히 응답하고 Country Store에서 업데이트를 마친 후에 자신을 업데이트해야 한다고 강조합니다.

좋은 웹페이지 즐겨찾기