как сделать так, чтобы состояние компонента не менялось, если я использую функцию history.GoBack()

#javascript #reactjs #react-router

Вопрос:

у меня есть логическое состояние и мой код зависит от этого государства одним из них, если это состояние истинного Я буду использовать history.goback() функцию , второй после первого условия я проверю, если в состояние false, то что-то делать , но то, что происходит сейчас, если history.goback() государство логическое стать ложно, то второе условие попадания . итак, как это исправить .

это мой код

 
  const [isFormSubmitted, setIsFormSubmitted] = useState<boolean>(false);

  useEffect(() => {
    if (submitForm.status === RequestStatus.resolved) {
      setFormLoading(false);
      notification.success({
        message: t('messages.success'),
        description: t('messages.success.requestCreated'),
      });
      setIsFormSubmitted(true);
    } else if (submitForm.status === RequestStatus.rejected) {
      setFormLoading(false);
      notification.error({
        message: t('leaves.newRequest.message.leaveRequestError'),
        description: submitForm.error?.message?.includes('Leave request already exists')
          ? t('leaves.newRequest.error.alreadyExists')
          : submitForm.error?.message,
      });
    }
  }, [submitForm.status, t, submitForm.error?.message]);

useEffect(() => {
    if (isFormSubmitted) {
      history.goBack();
    }
  }, [history, isFormSubmitted]);

  const deleteProcessInstance = useCallback(async () => {


    if (isFormSubmitted === false amp;amp; processInstanceIdRef.current) {


      try {
.......

}));
      } catch {
        notification.error({
          message: t('messages.error.wentWrong'),
          description: t('messages.error.tryAgainLater'),
        });
      }
    }
  }, [leaveRequestPDK, isFormSubmitted, dispatch, t]);


//this if the user leave the page then this useEffect hit 
 useEffect(
    () => () => {
      deleteProcessInstance();
    },
    // eslint-disable-next-line react-hooks/exhaustive-deps
    []
  );