Heim > Web-Frontend > js-Tutorial > Reaktionsfehler: Ungültiger Elementtyp: Warum erhalte ich ein „Objekt' anstelle einer Komponente?

Reaktionsfehler: Ungültiger Elementtyp: Warum erhalte ich ein „Objekt' anstelle einer Komponente?

Linda Hamilton
Freigeben: 2024-12-12 21:44:16
Original
946 Leute haben es durchsucht

React Error: Invalid Element Type: Why am I Getting an

React-Fehler: Ungültiger Elementtyp

Bei der Verwendung von React kann der folgende Fehler auftreten:

Uncaught Error: Invariant Violation: Element type is invalid: expected a string (for built-in components) or a class/function but got: object.
Nach dem Login kopieren

Ursache

Dieser Fehler tritt auf, wenn React erwartet, dass ein String oder eine Klasse/Funktion ein Element darstellt, aber ein Objekt empfängt stattdessen.

Lösung

Im angegebenen Codebeispiel wird der Fehler wahrscheinlich durch die Importanweisung für die Home-Komponente in der App-Komponente verursacht. Der Code versucht, die Komponente als Objekt zu importieren, obwohl sie als Standardexport importiert werden sollte.

Um das Problem zu beheben, ändern Sie die Importanweisung in der App-Komponente in:

var About = require('./components/Home').default;
Nach dem Login kopieren

Alternative Lösungen

Eine weitere mögliche Lösung besteht, wie in der Antwort erwähnt, darin, sicherzustellen, dass die Importanweisungen für Komponenten der richtigen Syntax entsprechen. Mit Webpack funktioniert beispielsweise die folgende Syntax korrekt:

import MyComponent from '../components/xyz.js';
Nach dem Login kopieren

Die Verwendung der folgenden Syntax kann jedoch zu dem Fehler führen:

import {MyComponent} from '../components/xyz.js';
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonReaktionsfehler: Ungültiger Elementtyp: Warum erhalte ich ein „Objekt' anstelle einer Komponente?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage