/
Вопросы и ответы
/
JavaScript
/

Что значит ошибка Element type is invalid при рендеринге React-компонента

Что значит ошибка Element type is invalid при рендеринге React-компонента

При попытке использовать компонент в React возникает ошибка:

Invariant Violation: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined. You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.

Что означает эта ошибка и как правильно исправить импорт компонента?

9 часов назад

Nikolai Gagarinov

Ответы

1

Ошибка появляется, когда React получает undefined вместо компонента. Основные причины:

  1. Компонент не экспортирован или экспортирован неправильно Если ваш компонент Card находится в файле Card.jsx, убедитесь, что вы экспортируете его корректно:

    // default export
    export default function Card() {
      return <div>Card</div>;
    }
    
    // или named export
    export function Card() {
      return <div>Card</div>;
    }
  2. Неправильный импорт

    • Для default export:
    import Card from './Card';
    • Для named export:
    import { Card } from './Card';
  3. Проверка импорта Если импорт вызывает сомнения, можно распечатать объект:

    console.log(Card);

    Если вывод undefined, значит импорт или экспорт неверный.

  4. Расширение файла Обычно .jsx можно опускать при импорте, если настройка сборщика поддерживает это. Главное — использовать правильный путь и совпадающий тип экспорта.

Итого: ошибка решается корректным экспортом компонента и соответствующим ему импортом.

9 часов назад

Nikolai Gagarinov