Als Nutzer i Inhalt via geht direkt auf einer tiefen urlReagieren Router browserHistory nicht wie erwartet funktioniert
Situation
auf der Hauptseite zugreifen will, muss ich einen Link zu „über“ Seite. Klicken auf den Inhalt ändert sich wie erwartet. Die Seite wird geladen und die URL ändert sich in localhost: 8080/about.
Wenn ich jetzt die Seite aktualisieren erhalte ich die Fehlermeldung:
Cannot GET /about
Ich frage mich, ob dies das normale Verhalten ist oder habe ich verpasst etwas aus?
Routen:
var React = require('react');
var ReactRouter = require('react-router');
var Router = ReactRouter.Router;
var Route = ReactRouter.Route;
var browserHistory = ReactRouter.browserHistory;
var Main = require('./components/Main');
var About = require('./components/About');
module.exports = (
<Router history={browserHistory} >
<Route path="/" component={Main}>
<Route path="about" component={About}/>
</Route>
</Router>
)
Main:
var React = require('react');
var ReactRouter = require('react-router');
var Link = ReactRouter.Link;
module.exports = React.createClass({
render: function() {
return <div>
<div>Header!!</div>
{this.content()}
</div>
},
content: function() {
if(this.props.children) {
return this.props.children
} else {
return (
<div>
<h1>Main</h1>
<Link to={'about'}>To about</Link>
</div>)
}
}
});
Über:
var React = require('react');
module.exports = React.createClass({
render: function() {
return (<div>About</div>)
}
});
Und mein package.json
{
"name": "react-starter",
"version": "1.0.0",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"browserify": "^13.0.0",
"gulp": "^3.9.0 ",
"gulp-concat": "^2.6.0",
"gulp-react": "^3.1.0",
"gulp-sass": "^2.1.1",
"gulp-server-livereload": "1.6.2",
"gulp-util": "^3.0.7",
"gulp-watch": "^4.3.5",
"node-notifier": "^4.4.0",
"react": "^0.14.6",
"react-dom": "^0.14.6",
"react-router": "^2.0.0-rc5",
"reactify": "^1.1.1",
"vinyl-source-stream": "^1.1.0",
"watchify": "^3.7.0"
},
"devDependencies": {}
}
wie etwa configure für Meteor? – Muhaimin
Ich habe keine Geschichte stattdessen mit der v4. BrowserRouter> und schließlich funktioniert es. Vielen Dank! –