Redux의 store.dispatch는 동기 또는 비동기입니다.


101

나는 이것이 기본적인 질문이라는 것을 알고 있지만 다른 곳에서 답을 찾지 못했습니다.

에서 store.dispatch동기 또는 비동기 Redux입니까?

비동기 인 경우 작업이 전파 된 후 콜백을 추가 할 가능성이 React있습니까?

답변:


87

AFAIK, 디스패치 작업은 동기식입니다. 비동기 호출을 처리하려는 경우 redux에서 thunk-middleware 를 사용할 수 있습니다. 여기서 dispatch는 편의에 따라 호출 할 수있는 콜백 함수로 제공됩니다. 자세한 내용은 작성자 자체의 SO에 대한이 답변을 확인하십시오 : 시간 초과로 Redux 작업을 보내는 방법?


67

코드 자체 보다 더 잘 아는 사람은 없습니다 . =) 보시다시피 dispatch절대적으로 동 기적입니다. 여기서 유일한 경고는 상점 enhancers이 대체 dispatch방법을 사용할 수 있다는 것입니다. 예를 들어, 좀 걸릴 에서 applyMiddleware증강을 , 당신이 기본 대체함으로써에서 미들웨어를 잭 수 있습니다 dispatch그것의 자신의 구현 방법을. enhancer실제로 동기식 특성을 제거 하는 Redux 를 본 적이 없지만 dispatch.


1
미들웨어 적용 링크를 https://github.com/reduxjs/redux/blob/master/src/applyMiddleware.ts#L19로 업데이트해야 합니다 (js-> ts에서 redux 마이그레이션으로 인해 편집 할 수 없습니다. 6 자 미만이므로). 또는 code itself링크 에서와 같이 여전히 js를 사용할 때 커밋을 참조해야합니다. 커밋 의 '영구 링크'측면으로 인해 데드 링크가 발생합니다.
user7413060
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.