state в
react нельзя менять напрямую, надо использовать асинхронный метод
setState.
createCheckboxes = () => {
const data = this.props.pets[0] || {};
const newAnimals = Object.values(data).map(el => el.animal);
this.setState(({ animals }) => ({
animals: [ ...animals, ...newAnimals ],
}));
};
Ошибка из-за того, что вы используете к колбеке
map не стрелочную функцию, а обычную и в ее контексте
this в
strict режиме ссылается на
undefined. Со стрелочной функцией такой ошибки бы не было.
PS. Я вам советовал писать в
state состояния фильтра и фильтровать массив при рендере. А вы все делаете наоборот. Неправильно используете библиотеку и функции массива. Вам надо документацию по
react хорошо изучить и основы
js подтянуть. Особенно возможности
ES6 и экспериментальных фич используемых в
react разработке.
Советую перед тем как будете отправлять работодателю свое тестовое задание, сбросить его сюда попинать.