Положи в стейт копию (нужной длинны), когда нужно изменить - сэть в стейт новую копию (нужной длинны), можно добавлять через сравнение уже есть элемент или нет, или хранить число уже добавленных элементов, что бы не перерисовывать весь список
Вам надо хранить все данные, количество отображаемых данных и "страницу" И на основе этого вычислять подмассив, который уже будет рендериться с помощью .slice