다른 함수에서 setState()
을 사용해야합니다. 요점은 현재 상태 또는 용도에 따라 다른 값으로 동일한 상태 속성 ('test', 'options')을 조작하고 다른 내부 함수 (this.doSomething()
)를 호출한다는 것입니다. 문제는 모든 기능을 차례로 호출하는 function1()
에 있습니다. function3()
의 'this.state.test' === '2'
이 얼마나 이상하다고 보증 할 수 있습니까?다른 함수 호출 내에서 setState()
알고 계시 겠지만 setState()
비동기식이며 콜백 기능이 있습니다.하지만 내 설정에서 여러 기능을 사용할 때 어떻게이 콜백을 사용할 수 있습니까? 나는 종류 당신은 마무리에 약속이나 콜백을 사용할 수 있습니다
function1() {
...
this.function2();
this.function3();
this.function4();
...
}
function2() {
this.doSomething();
this.setState({
options: 'abc',
test: '2'
});
...
}
function3() {
this.doSomethingElse();
if (this.state.test === '2') {
this.setState({
options: 'def'
test: '3'
});
}
...
}
function4() {
this.doAnything();
this.setState({
options: 'xyz',
test: '4'
});
...
}
당신이()'기능 2 ('같은 기능 1 '의 약속과 기능 2, 3, 4 계단식 시도 할 수 있음) 다음 (기능 3).. then (function4)' – Redu