Programing

조건일 경우 다른 조치 후 Redex 호출 조치

c10106 2022. 3. 20. 12:33
반응형

조건일 경우 다른 조치 후 Redex 호출 조치

다음과 같은 논리로 환원제를 어떻게 구현해야 하는가?동기화 및 비동기화라는 두 가지 동작이 있다.그것의 유효성을 말하고() 저장()한다.사용자가 단추를 누를 때validate()그리고 그것은 약간의 변화를 준다.isValid주 저장소의 변수그렇다면isValid수행된 작업을 저장하십시오.

하고 싶은 일을 하는 방법은 여러 가지가 있다.그러나 일반적으로, 파생될 수 있는 어떤 것도 Redex에 저장하지 마십시오. isValid필드에서 유효성 검사를 실행하여 도출할 수 있다.더욱이 나는 변화하는 양식 필드 값과 같은 중간 상태가 Redex에 속한다고 생각하지 않는다.유효한 것으로 간주되어 제출될 때까지 반응 상태로 보관할 겁니다.

스푸너가 코멘트에서 언급했듯이, 당신은 thunk 내의 동기화 액션을 부를 수 있다.아니면 thunk 내의 주(州)에 접근할 수 있다.

옵션 #1

// Action Creator
export default function doSomething(isValid) {
    return (dispatch) => {

        dispatch(setValid(isValid));

        if (isValid) {
            return fetch() //... dispatch on success or failure
        }
    };
}

옵션 #2

// Component
dispatch(setValid(isValid));
dispatch(doSomething());

// Action Creator
export default function doSomething() {
    return (dispatch, getState) => {

        const isValid = getState().isValid;

        if (isValid) {
            return fetch() //... dispatch on success or failure
        }
    };
}

그 기능들을 '클릭 핸들러'에 '랩'할 수 있다.

//call it on button click

handleClick = () => {
  if (validate()) {
    //call save function
    save()
  }
}

validate = () => {
  //do something
  //check validness and then
  if (valid) return true 
}

참조URL: https://stackoverflow.com/questions/36824465/redux-call-action-after-other-action-if-condition

반응형