Довольно сложно точно знать, что происходит, но я определенно не рекомендовал бы игнорировать / взламывать ошибку, которую вы получаете, используя обычную функцию популярной библиотеки. Важно, чтобы ваша реализация была правильной, так как простота движется вперед.
Мне кажется, что использование вами thunk немного странно.
Функция, , возвращаемая отправленным вами действием, имеет диспетчеризацию и getState в качестве аргументов:
В вашем случае ваше действие может выглядеть так
В ваших действиях.js:
export function getAttributes2(){
return function(dispatch, getState){
// you could dispatch a fetching action here before requesting!
return $.ajax('/getFilteredAttributes/', {type: 'GET', dataType: 'json'})
.done(response => dispatch(saveTheResponseAction(response)))
.fail((xhr, status, error) => console.log("failed"))
}
Отображение этой функции в ваш реквизит:
import {getAttributes2} from '../../../redux/actions/actions';
const mapDispatchToProps = dispatch => {
return {
getAttributes2: () => dispatch(getAttributes2()),
}
}
Таким образом, вы можете отправлять действие из .done части вашего вызова API с результатом, вы можете реагировать на ошибки, вы даже можете отправить действие перед возвратом вашего вызова API, чтобы сообщить избыточному пользователю, что вы запросили но еще не получили данные, позволяющие выполнять все виды состояний загрузки.
Надеюсь, это поможет, дайте мне знать:)