Действие 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, …}