Zum Installieren von reacts habe ich docs given by facebook verwendet. Und jetzt versuche ich Routing zu implementieren, aber nichts wird in meinem Browser angezeigt. Und noch eine Sache, ich möchte fragen, wo ist die Konfigurationsdatei gemäß dieser Dokumentation.Was ist falsch mit dem Code, wegen dem ich keine Ausgabe im Browser bekomme, obwohl mein Code richtig kompiliert ist?
Package.json Datei
{
"name": "my-app",
"version": "0.1.0",
"private": true,
"dependencies": {
"react": "^15.6.1",
"react-dom": "^15.6.1",
"react-router": "^4.2.0",
"react-router-dom": "^4.2.2",
"react-scripts": "0.9.5"
},
"devDependencies": {
"react-hot-loader": "^1.3.1"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test --env=jsdom",
"eject": "react-scripts eject"
}
}
Index.js
import React from 'react';
import ReactDOM from 'react-dom';
import { Router, Route, browserHistory, IndexRoute } from 'react-router'
import {App} from "./App";
import {About} from "./about";
import {Contact} from "./contactus";
import {Home} from "./Home"
ReactDOM.render(
<Router history={browserHistory}>
<Route path="/" component={App}>
<IndexRoute component={Home} />
<Route path={"home"} component={Home} />
<Route path={"about"} component={About} />
<Route path={"contact"} component={Contact} />
</Route>
</Router>,
document.getElementById('app')
);
App.js
import React from 'react';
import Link from 'react-router'
import Home from './Home'
import About from './about'
import Contact from './contactus'
class App extends React.Component {
render() {
return (
<div>
<ul>
<li><Link to="/home"><Home /></Link></li>
<li><Link to="/about"><About /></Link></li>
<li><Link to="/contact"><Contact /></Link></li>
</ul>
</div>
)
}
}
export default App;
about.js
import React from 'react';
class About extends React.Component {
render() {
return (
<div>
<h1>About...</h1>
</div>
)
}
}
export default About;
In gleicher Weise habe ich contact.js und home.js. definiert
Fehler auf thr-Browser sieht aus wie
Warning: React.createElement: 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. Check your code at index.js:13.
printWarning @ warning.js:35
warning.js:35 Warning: Failed prop type: The prop `history` is marked as required in `Router`, but its value is `undefined`.
in Router (at index.js:11)
printWarning @ warning.js:35
Router.js:47 Uncaught TypeError: Cannot read property 'location' of undefined
at new Router (Router.js:47)
at ReactCompositeComponent.js:294
at measureLifeCyclePerf (ReactCompositeComponent.js:75)
at ReactCompositeComponentWrapper._constructComponentWithoutOwner (ReactCompositeComponent.js:293)
at ReactCompositeComponentWrapper._constructComponent (ReactCompositeComponent.js:279)
at ReactCompositeComponentWrapper.mountComponent (ReactCompositeComponent.js:187)
at Object.mountComponent (ReactReconciler.js:45)
at ReactCompositeComponentWrapper.performInitialMount (ReactCompositeComponent.js:370)
at ReactCompositeComponentWrapper.mountComponent (ReactCompositeComponent.js:257)
at Object.mountComponent (ReactReconciler.js:45)
Und meine Ausgabe in Browser leer ist. ps: ich bin Anfänger mit ReactJs so erhalten mit schlechter Kodierstruktur beleidigt nicht
Was ist Ihre Projektstruktur und haben Sie einen 'Kontakt us.js Datei? – bennygenel
'Kann die Eigenschaft" Standort "von undefiniert nicht lesen, bedeutet, dass eine Ihrer Komponenten fehlt. Und react-router kann es nicht finden. –
Meine Projektstruktur ist: unter my-app habe ich öffentliche und src-Ordner, innerhalb der Öffentlichkeit habe ich index.html und innerhalb src ich habe about.js, App.js, contactus.js, Home.js und index.js – Prince