Ich versuche, ein Projekt in mehrere Dateien aufgeteilt und wenn ich versuche, eine Datei zu importieren Ich bekomme diese Warnungen/Fehler warning.js:36Warning: React.createElement: type should not be null, undefined, boolean, or number. It should be a string (for DOM elements) or a ReactClass (for composite components). Check the render method of
Menü . warning.js:36Warning: React.createElement: type should not be null, undefined, boolean, or number. It should be a string (for DOM elements) or a ReactClass (for composite components). Check the render method of
Menü . invariant.js:38 Uncaught Error: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined. Check the render method of
Menü .(…)
Cant eine Klasse von Importdatei verwenden
Ich habe versucht, dieses Problem zu googeln und ich sah viele Beiträge wie diese, aber ich konnte dieses Problem nicht lösen. hier ist die Menu.jsx
import React, { Component } from 'react'
import { render } from 'react-dom'
import Link from 'react-router'
export default class Menu extends Component {
render() {
return (
<ul>
<li><Link to="test">Link1</Link></li>
<li><Link to="test2">Link2</Link></li>
</ul>
)
};
}
und hier die app.jsx
import React from 'react'
import { render } from 'react-dom'
import { Router, Route, Link, browserHistory } from 'react-router'
import Menu from './Menu'
const Home = React.createClass({
render() {
return (
<div>
<div className="headerNav">
<Menu />
</div>
<h1>Welcome to the Home Page</h1>
{this.props.children}
</div>
);
}
});
const RestOf = React.createClass({
render: function() {
return (<h1>Will it get all the others ?</h1>);
}
});
render((
<Router history={browserHistory}>
<Route path="/" component={Home} >
<Route path="*" component={RestOf} />
</Route>
</Router>
), document.getElementById('root'));
gut, habe ich fast alles habe ich versucht, von der Suche gefunden, nicht sicher, was ich hier TBH fehlt .. aber Ich bin wirklich verwirrt von diesen Fehlern. S. Ich bin wirklich neu bei React.
etwas, das ich bemerkt habe, wenn ich die Menü-Klasse in der app.jsx als und definiert es als die anderen Klassen, wird es gut funktionieren.
edit: Ich benutze Webpack so kompilieren Sie die react-Dateien.
danke!
Sie könnten versuchen, die '.jsx' Erweiterung hinzufügen, wenn die' Main' Komponente –
Ich habe versucht, das gleiche Problem ... – greW
Vielleicht müssen Sie Klammern um Link in Menu.jsx hinzufügen: 'Import {Link} von ' Reagieren-Router''. – Yasser