Задать вопрос
@fendrarog
Учу программирование.

TS2322: Type 'string | false' is not assignable to type 'string | undefined'. Type 'boolean' is not assignable to type 'string'. Как пофиксить?

Я написал код, который выделяет выбранную страницу в паджинаторе, задал условие, но тайпСкрипт не позволяет создать такой тип для className. Подскажите как пофиксить данную багу.

Вот такой код.
{pages
        .filter(
          (p) => p >= leftPortionPageNumber && p <= rightPortionPageNumber
        )
        .map((p) => {
          return (
            <span
              className={currentPage === p && s.selectedPage}
              key={p}
              onClick={() => {
                term === ""
                  ? onPageChange["onCommonPageChange"](p)
                  : onPageChange["onTermPageChange"](p);
              }}
            >
              {p}
            </span>
          );
        })}


ошибка тут
TS2322: Type 'string | false' is not assignable to type 'string | undefined'. Type 'boolean' is not assignable to type 'string'.
return (
    85 |             <span
  > 86 |               className={currentPage === p && s.selectedPage}
       |               ^^^^^^^^^
    87 |               key={p}
    88 |               onClick={() => {
    89 |                 term === ""
  • Вопрос задан
  • 828 просмотров
Подписаться 1 Простой 4 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@Desorder
можно использовать clsx
<span className={clsx(currentPage === p && s.selectedPage)} ...>
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
ITK academy Воронеж
от 50 000 до 90 000 ₽
IT ATLAS Москва
от 200 000 до 250 000 ₽