@JordanBelford

Почему не происходит перерисовка компоненты?

Добрый вечер! Нужно сделать пагинацию, для этого отправляю сетевой запрос: axios.get(`/numbers/${props.numbersPage.currentPage}`), текущую страницу храню в redux store. Для эмуляции пагинации создал массив page, данный массив промэпил, в теле цикла создаю спаны, по нажатию на span изменяю состояние currentPage, но страница не перерисовывается, почему?
Код axios запроса:
useEffect(() => {
        axios.get(`/post/${props.numbersPage.currentPage}`)
            .then(res => {
                res.data.forEach(item => {
                    props.addPost(item.id);
            });
    }, []);

Код в котором рисую страницы:
<div className="page">
    {pages.map((page, index) => <span 
        onClick={() => dispatch(setCurrentPageAC(page))} 
        key={index}>{page}
    </span>)}
</div>

Reducer проверил с ним все в порядке, c бэкендом тоже все отлично. Проблема скорее всего кроется в сетевом запросе, вот только что ни так я сделал?
Код функции из reducer:
case SET_CURRENT_PAGE: {
            return {
                ...state,
                currentPage: action.payload
            }
        }
  • Вопрос задан
  • 72 просмотра
Пригласить эксперта
Ответы на вопрос 1
Krasnodar_etc
@Krasnodar_etc
little front
Вы храните изменяете страницу в redux store, но нексту абсолютно всё равно, что у вас там лежит, он не узнает об этих изменениях

Для роутинга в next js есть вот такие способы:
1 - router.push
2 - next/link
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы