const [currentPage, setCurrentPage] = useState<number>(FIRST_ITEM_PAGINATON);
const [disabledNextBtn, setDisabledNextBtn] = useState<boolean>(false);
const [disabledPrevBtn, setDisabledPrevBtn] = useState<boolean>(false);
и на начальном этапе нужно проверить и задизейблить кнопки некст и превиос
но, когда я делаю проверку
currentPage === 1 ? setDisabledPrevBtn(true) : null;
currentPage === pages.length ? setDisabledNextBtn(true) : null;
страница падает на ошибке
Uncaught Error: Too many re-renders. React limits the number of renders to prevent an infinite loop.
я понимаю из-за чего
но как тогда и где мне делать эту проверку ?
попробуй просто переменную вместо (setDisabledPrevBtn) без стейта , оно у тебя туда сюда меняет
точно, степы и так меняются спасибо)
Не вызывать setState при каждом рендере же.
const [currentPage, setCurrentPage] = useState<number>(FIRST_ITEM_PAGINATON); const prevButtonDisabled = currentPage === 1 const nextButtonDisabled = currentPage === pages.length Зачем тебе стейт ещё какой-то?
Уже понял Я просто проверяю степ и меняю класс Спасибо)
Обсуждают сегодня