2017-02-03 3 views
1

Ich brauche Hilfe, um herauszufinden, wo ich mit diesem Fehler beginnen soll. Nimbus ist der Name meiner App, aber ich bin mir nicht sicher, was es bedeutet, wenn es check the render method of 'Nimbus' sagt. Welche Rendermethode? Ich habe eine funktionale Komponente bei app/index.js namens Nimbus, aber offensichtlich macht das nichts bringt nur eine Komponente zurück.Reactive Native Error: Der Elementtyp ist ungültig.

Ich habe ähnliche Fehlermeldungen für RN hier überprüft und die meisten Leute vergessen nur, eine Komponente richtig zu exportieren, aber ich habe meine Komponenten überprüft und alle werden korrekt exportiert, was ich sagen kann. Das Repo finden Sie unten, wenn Sie sich meine Projektstruktur ansehen möchten. Momentan gibt es nur wenige Dateien. Entschuldigung, ich kann nicht mehr Informationen liefern, das ist alles, was ich gerade habe.

https://github.com/MaxwellGover/Nimbus

enter image description here

Antwort

2

Da die AppContainer ein Export Standard ist:

export default class AppContainer ... 

Und Sie Proxy es aus den Behältern/index.js wie folgt aus:

export { AppContainer } from './App/AppContainer' 

Dieser versucht einen benannten Export zu importieren genannt AppContainer. Stattdessen müssen Sie explizit die default Export importieren:

export { default as AppContainer } from './App/AppContainer' 
+0

Ok. Ich werde das überprüfen. Bevor ich exportiert habe wie 'export AppContainer 'aus'/App/AppContainer' (also ohne' {} ') und importiere wie' import {AppContainer} von '~/containers', aber das warf mir einen seltsamen Fehler auf. Ist 'export {default as a Component}} der ideale Weg, um mit Exporten fertig zu werden? – maxwellgover

+0

Soweit ich weiß, ist das die einzige (?) Syntax, um einen Standard-Export eines Moduls zu übernehmen und als benannten Export zu exportieren. Ehrlich gesagt bin ich nicht sicher, ob die Indirektion, die Sie in Ihrer Codebasis anwenden, die Mühe wert ist. Wenn es groß wird, dann sicher! Aber bei kleinen Größen scheint die Verwendung der Indexdateien eine unnötige Indirektion zu sein. – jevakallio

+0

Das hat funktioniert. Vielen Dank. – maxwellgover

1

in Ihrem index.js Sie benötigen Komponente zu importieren.

ändern Sie folgende.

import { NimbusNavigator } from './Navigator/NimbusNavigator' 
import { SplashContainer } from './Splash/SplashContainer' 
import { AppContainer } from './App/AppContainer' 
+0

Ich verwende 'babel-root-import' so füge ich Exporte in' Container/index.js' so kann ich sie in andere Komponenten importieren bei Bedarf wie 'import {AppContainer} von '~/containers', also nicht sicher, ob das oben in meiner Instanz korrekt ist. – maxwellgover

+0

Haben Sie Ihr Problem mit der obigen Antwort behoben? –

+0

Ich werde bald überprüfen und Sie aktualisieren. – maxwellgover

Verwandte Themen