Я также столкнулся с этой проблемой, и методом проб и ошибок обнаружил, что это произошло из-за копирования + вставки. Проверьте ваш редуктор (ы), чтобы убедиться, что вы не устанавливаете по умолчанию объект {}
или другой тип вместо массива []
.
В моем случае у меня было (кстати, это синтаксис ES6):
const someReducer = (state = {}, action) => {
switch (action.type) {
case 'reducer type':
// get the data etc.
return [];
default:
return state;
}
};
Когда я должен был:
const someReducer = (state = [], action) => {
switch (action.type) {
case 'reducer type':
// get the data etc.
return [];
default:
return state;
}
};
Обратите внимание на первую строку, где я устанавливаю настройки по умолчанию. Это используется во время ожидания вызовов API, поэтому, если просто произойдет , чтобы достичь кода, где используется .find()
, то вы получите ошибку.
Это очень легко пропустить, потому что данные извлекаются так быстро, что вы не можете легко увидеть, когда данные имеют неправильный тип. Просто убедитесь, что по умолчанию, как бы вы его ни устанавливали, был правильный тип! Надеюсь, это кому-нибудь поможет!