fetchFilterCharacters - фильтрованные карточки по параметрам, которые прилетают после сабмита формы.
data приходит из API c 2-мя полями : info и results
info: Object { count: 826, pages: 42, next: "https://rickandmortyapi.com/api/character?page=2", … }
results: Array(20) [ {…}, {…}, {…}, … ]
формат data :
export interface IAllCharacters {
info: {
count: number;
pages: number;
next?: string | null;
prev?: string | null;
};
results: ICharacter[];
}
Array(20) [ {…}, {…}, {…}, … ] ============ на каждой странице только по 20 персонажей !!!
Задача №1 - в HomePage отрисовывать все персонажи, либо отфильтрованные и пропускать через пагинацию.
Задача № 2 - В другом компоненте получать уже отфильтрованную data, и используя рекурсию, я так понимаю, вытянуть со всех отфильтрованных страниц персонажей запушить их в 1 массив и давать возможность их скачать в .csv файле.
Я так понимаю с пом. рекурсии можно получить архив персонажей только через запрос на API, тоесть в слайсе?
Потому как этот массив не понимаю как отрисовать, для пагинации нужна currentPage и кол-во страниц.
Поэтому вопрос может разделить эту логику на 2 отдельных слайса?
1-й для фильтрации
2-й для получения общего массива через рекурсию
Помогите разобраться 🤔🤔🤔
Да, второй раз пишу
на каких курсах такое дают?
давай 3-й
а почему вы используете термин рекурсия?
Через цикл while со всех страниц пушу item в массив
и вот например у вас загружены сразу 826 карточек это вы получается всю базу что ли выкачали за один запрос? а теперь пытаетесь ее обработать на клиенте?
ну вообще это называется "перебор" всех элементов рекурсия это когда функция сам себя вызывает
42 страницы по 20 персонажей, но по факту приходит 1-я страница. Далее пагинация
и в каких целях вы всю базу выкачали? сервер не поддерживает необходимые функции фильтрации по query параметрам?
Обсуждают сегодня