내가 가지고있는이 기능을 수행 반환 부분은 먼저 나머지
handleClickSuitClass(rankClass, suitClass) {
// first part I'd like to run AND return no matter what
const newState = update(this.state, { [rankClass]: { [suitClass]: { $set: !this.state[rankClass][suitClass] } } });
this.setState(newState);
// second part I'd like to run after first part returned
const presetId = this.state.preset.current;
if (presetId !== '') {
updateSuitClass.call({ _id: presetId, rankClass, suitClass }, (err) => {
if (err) {
Bert.alert(err.reason, 'danger');
const revertState = update(this.state, { [rankClass]: { [suitClass]: { $set: !this.state[rankClass][suitClass] } } });
this.setState(revertState);
}
});
}
}
내가 처음 두 줄에 상관없이 (체크) 체크를 전환 상태에 setState를하는 것입니다 무엇을, 실행되지 할을 클릭 한 항목에 표시하십시오.
(첫 번째 부분이 반환 된 후) true이면 Meteor 유효성 검사 메소드를 호출하여 데이터베이스에서 선택된 항목을 업데이트합니다. 오류가 있으면 상태를 다시 토글하여 원래 상태로 되돌립니다.
현재 작동하지만 느립니다. 처음 두 줄을 먼저 실행하고 상태를 설정 한 다음 두 번째 부분을 단일 함수로 실행하도록하려면 어떻게해야합니까?
을 되돌릴 동안 이유는 왜 돈이 이 두 개의 분리 된 기능을 만들고 싶지 않습니까? 의심 스럽다면, 피할 수없는 경우를 제외하고는 하나의 작업 단위를 수행하도록 기능을 제한하십시오. –
인수/매개 변수가있는 클릭 이벤트에서 두 개의 함수로 나누는 방법은 무엇입니까? onClick은 다음과 같습니다. onClick = {props.onClick.bind (null, props.presetObj)} – cocacrave