Redux를 배우고 있고, 다른 브랜치 (브랜치 B)를 업데이트하기 전에 내 상태 트리의 브랜치 (A 브랜치)가 업데이트를 완료했는지 확인하는 것과 관련된 문제가 있습니다. 지점 B는 지점 A에서 새로 업데이트 된 항목에 할당 된 ID에 따라 달라 지므로 지점 A의 업데이트 기능이 전달 된 후 지점 B의 업데이트 기능이 전달되도록합니다. 나는 여러 가지 지류에 해당하는 여러 가지 감속기를 가지고 있으며 결합 리 듀서를 사용하여 결합합니다.Reded에서 Reducer 함수를 순차적으로 호출하는 호출 상태
나는 구성 요소에서 지점 A를 업데이트하는 작업을 파견하려면 다음을 사용 :
/* update Branch A */
this.props.dispatch(actions.addCriterion(this.state));
순차적으로 지점 B에서 코드 결과 업데이트 된 상태 정보를보고하지 않는 다음 줄에 지점 B를 업데이트 작업을 파견 지점 A의 파견으로 인해
/* update Branch B */
this.props.dispatch(actions.completeScoreGrid(this.props.alternatives, this.props.criteria));
그러나, 모든 것을 내가에서는 setTimeout을 사용하고 후 비트가 전달됩니다 기다리면 상태 업데이트가 완료되고이 경우 B를 호출하기 전에 원하는대로 작동 B의 참조의 모든 그것을해야
/* update Branch B after a 1 second pause */
var that = this;
setTimeout(function() {
that.props.dispatch(actions.completeScoreGrid(that.props.alternatives,
that.props.criteria));
}, 1000);
그러나 설정 타임 아웃을 사용하는 것이 적절한 방법이 아니라고 확신합니다. 나는 redux-thunk, redux-promise, redux-promise-middleware 및 redux-saga로 보았습니다. 그리고이 중 어떤 것이이 문제에 대해 적절한 도구인지 또는 그 중 어느 것이 적절한 도구인지 확인하지 못했습니다. . 이런 종류의 문제를 해결하는 올바른 방법은 무엇입니까?