2017-02-03 4 views
2

React-redux 프로젝트에서 가끔은 두 가지 작업을 수행해야합니다. 위의 코드 예를 들어 React Redux에서 두 개 이상의 액션을 실행하는 방법

,

// I have to both 
handleAddItem(){ 
    this.props.actions.addItem(); // working 
    this.props.actions.updateItemList(); // not working 
} 

가 작동하지 않습니다. 그냥 첫 번째 조치가 실행 된 것 같습니다 addItem(). updateItemList()이 작동하지 않습니다.

하지만 둘 다 작업을 실행하기 위해 해킹을 발견,

handleAddItem(){ 
    this.props.actions.addItem(); // working 
    setTimeout(()=>{ 
    this.props.actions.updateItemList(); // It's working 
    }, 1000); 
} 

2 이상의 액션을 실행하는 정확한 코드가 있습니까?

+0

이러한 작업을 디스패치 해 보셨습니까? – Bezzi

+0

updateItemList()는 addItem()에 의존합니까? 그렇다면 addItem에 콜백을하거나 addItem에서 약속을 반환해야합니다. – jmargolisvt

+0

한 번에 두 가지 동작을 사용하는 특별한 이유가 있습니까? 일반적으로 단일 액션으로 상태를 업데이트하는 것이 좋습니다. –

답변

1

이전에 내 의견에 추가하려면 How to dispatch a Redux action with a timeout?이 널리 사용되는 문제 해결 방법을 설명합니다. 동기화 및 비동기 작업을 구별하려면 개체 (동기 지원) 또는 함수 (비동기 지원)를 반환하면됩니다.

관련 문제