Element-Typ ist ungültig: erwartet einen string (für die eingebauten Komponenten) oder eine Klasse/Funktion
import React from 'react';
import ReactDOM from 'react-dom';
import Map from './components/map/container/map';
import App from './App';
import './index.css';
import shell from './shared/utility/shell';
import { render } from 'react-dom'
import { Provider } from 'react-redux'
import { createStore, applyMiddleware, compose } from 'redux'
import { routerMiddleware, ConnectedRouter } from 'react-router-redux'
import thunk from 'redux-thunk'
import createHistory from 'history/createBrowserHistory'
import rootReducer from './reducers'
import registerServiceWorker from './registerServiceWorker';
import { Routes } from './config';
const history = createHistory();
const target = document.querySelector('#root')
const initialState = {};
const enhancers = [];
const middleware = [
thunk,
routerMiddleware(history)
];
if (process.env.NODE_ENV === 'development') {
const devToolsExtension = window.devToolsExtension;
if (typeof devToolsExtension === 'function') {
enhancers.push(devToolsExtension());
}
}
const composedEnhancers = compose(
applyMiddleware(...middleware),
...enhancers
);
const store = createStore(
rootReducer,
initialState,
composedEnhancers
);
render(
<Provider store={store}>
<ConnectedRouter history={history}>
<div>
<Routes />
</div>
</ConnectedRouter>
</Provider>,
target
)
registerServiceWorker();
ReactDOM.render(<App />, document.getElementById('root'));
registerServiceWorker();
Ich versuche zu nennen, die eine API aus mit Hilfe von redux und anzeigen der Daten in einer Tabelle. Ich bin immer diese Fehlermeldung. Oben ist mein index.js
- Datei.
1.
Element-Typ ist ungültig: erwartet einen string (für die eingebauten Komponenten) oder eine Klasse/Funktion (für composite-Bauteile), aber bekam: undefined. Sie wahrscheinlich vergessen, den export von Komponenten aus der Datei definiert wird.
2.
Reagieren.createElement: Typ ungültig ist -- erwartet einen string (für die eingebauten Komponenten) oder eine Klasse/Funktion (für composite-Bauteile), aber bekam: undefined. Sie wahrscheinlich vergessen, den export von Komponenten aus der Datei definiert wird.
Auf die ich hingewiesen habe, um viele Antworten ich bin nicht in der Lage zu erkennen, die Fehler.
App
oder Routes
da diese zu sein scheinen, die benutzerdefinierte diejenigen, die Sie Rendern. Überprüfen Sie die Exporte aus diesen Dateien, und alle Dateien, die Sie importieren.wie @AustinGreco sagte, es ist eine import/export-Problem. check this
Ich weiß nicht, du es gelöst hast oder nicht, ich lief in das gleiche Problem einmal, und fand heraus, bewarb ich mich die codes reagieren-router-redux@next(5.0.0-alphaN) auf die ältere version zu reagieren-router-redux.
InformationsquelleAutor Varun thadhani | 2017-07-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Problem ist in der import-Anweisungen. Sie habe nicht verwendet die geschweiften Klammern beim importieren einige Komponenten wie
createHistory
.Wenn eine Komponente verwendet ein Standard-export wie:
Dann können Sie einfach importieren, wie:
Aber, wenn Sie mit einem Namen exportieren, wie:
Dann müssen Sie importieren es in geschweiften Klammern wie:
Also haben Sie einen Blick auf Ihre Importe. Dies wird Ihr Problem zu beheben.
Sie können direkt zu schreiben-export bei der Deklaration der Klasse als: export-Standard-class Karte{ render{ return();}} importieren, wie import Karte aus ./Klasse
Nach der Korrektur createHistory ich bin immer diese Fehlermeldung._WEBPACK_IMPORTIERTEN_MODUL_10_Geschichte_createBrowserHistory__.createHistory keine Funktion
Ist es deswegen ?
Verlauf Paket enthält createBrowserHistory Funktion?Bitte überprüfen Sie es.
InformationsquelleAutor Vikram Saini
Ich lief in das gleiche problem in meiner Anwendung reagieren. Es ist definitiv die import-Anweisungen wie oben angegeben.
Ich änderte
import {x} from '/x.js'
zu
import x from '/x.js'
und bekam den job zu erledigen
InformationsquelleAutor Olumide
Habe ich auch diese Fehlermeldung, wenn einer der geschachtelten Komponenten versucht zu Rendern einer Komponente, die nicht existieren. Speziell, ich versuchte zu verwenden
einen reagieren-native Komponente Reagieren, wo ich hätte mit
InformationsquelleAutor TMin
Für mich, ich Stand vor diesem Problem, wenn ich vergesse, verwenden Sie reagieren-redux ist
connect
im export.So,
ändern:
:
löste das Problem. Wirklich dumme Fehler
InformationsquelleAutor Jordan Daniels
Es kann auch verursacht werden, von wo der Einstiegspunkt ist.
In meinem Fall, die App.js Berufung war index.js (wo der Entwickler-Konsole war die Identifizierung der Fehler und wo meine RenderDom nennen war).
Jedoch App.js wurde verweisen auf eine Komponente, und es war innerhalb dieser Komponente, die ich hatte den Fehler (ein Verweis auf noch eine weitere Komponente, die nicht vorhanden sind).
InformationsquelleAutor Bob Aleena
Wie hieß es oben, das Problem mit dem import. In meinem Fall war ein CSSTransitionGroup importieren. Nach npm update-Paket 'reagieren-transition-Gruppe" nicht mehr enthält, CSSTransitionGroup, aber es enthält verschiedene Exporte, wie CSSTransition und TransitionGroup. Also habe ich Sie einfach ersetzen Sie die Zeile:
mit
InformationsquelleAutor Victor