@AHMED_RAPIRA

Почему возникает ошибка при использовании useMemo?

Имеется такой компонент:

import React from "react";

import styles from './styles/main.scss';

interface PaginationProps {
  itemsCount: number;
}

const Pagination: React.FC<PaginationProps> = (props) => {
  const { itemsCount } = props;

  const items = React.useMemo(() => {
    return [...Array(itemsCount).keys()].reverse();
  }, [itemsCount]);

  return (
    <ul className={styles['pagination']}>
      {items.map((itemNumber) => {
        if (!itemNumber) {
          return null;
        }

        return (
          <li
            className={styles['pagination__item']}
            key={itemNumber}
          >
            {itemNumber}
          </li>
        );
      })}
    </ul>
  );
};

Pagination.defaultProps = {
  itemsCount: 0,
};

export default Pagination;


При рендере получаю стандартную ошибку:
Uncaught Error: Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:


Попробовал тоже самое сделать в онлайн песочнице - все работает хорошо. В чем может быть дело?
  • Вопрос задан
  • 93 просмотра
Решения вопроса 1
@AHMED_RAPIRA Автор вопроса
Забыл указать, что проблема возникала при использовании module federation. Когда у всех компонентов я пошарил одну и ту же версию реакта, проблема исчезла, и другие подобные
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Проверь все места где ты вызываешь Pagination
Возможно где то используешь Pagination() вместо <Pagination
Ну и сама ошибка дает процентов 5 необходимой информации, вместе с ошибкой нужен стек.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы