Действие React-redux вызывается бесконечно (бесконечный цикл)

Компонент реакции бесконечно перерисовывается, когда действие вызывается внутри функции useEffect

  useEffect(() => {
    props.getApi('pages/websitepage/page_type/choices')
  },[])

Здесь я использую метод подключения для отправки действия (также пробовал способ хуков).

export function getApi(url) {
    return dispatch => {
      Axios
        .get(
            BASE_URL + url ,{
                headers: header
            }
        )
        .then(response => {
          dispatch(fetchResponse(response.data.data));
        })
        .catch(error => {
          console.log(error)
        });
    };
  }

export const fetchResponse = (data) => {
  console.log('data',data);
    return{
        type: 'FETCH_RESPONSE',
        payload: data
    }
};

как вы можете видеть здесь, я вызываю диспетчер действий, чтобы сохранить состояние. но компонент продолжает повторный рендеринг, есть ли какое-либо возможное решение для меня, чтобы остановить это поведение? Прикрепление ответа логгера ниже

action FETCH_RESPONSE
    prev state {isAuthenticated: true, error: null, isLoading: false, currentBlogPage: 0, submitting: false, …}
    action     {type: "FETCH_RESPONSE", payload: Array(4)}
    next state {isAuthenticated: true, error: null, isLoading: false, currentBlogPage: 0, submitting: false, …}
action FETCH_RESPONSE
    prev state {isAuthenticated: true, error: null, isLoading: false, currentBlogPage: 0, submitting: false, …}
    action     {type: "FETCH_RESPONSE", payload: Array(4)}
    next state {isAuthenticated: true, error: null, isLoading: false, currentBlogPage: 0, submitting: false, …}
action FETCH_RESPONSE
    prev state {isAuthenticated: true, error: null, isLoading: false, currentBlogPage: 0, submitting: false, …}
    action     {type: "FETCH_RESPONSE", payload: Array(4)}
    next state {isAuthenticated: true, error: null, isLoading: false, currentBlogPage: 0, submitting: false, …}

0 ответов

Другие вопросы по тегам