Ich arbeite an einer sehr einfachen Reaktion App, aber wenn ich versuche, Router in immer macht Pfadname mit Großbuchstaben Großbuchstaben und ich habe keine Ahnung warum.React Capital Fall in Routen
app.js
import React from "react";
import ReactDOM from "react-dom";
import Layout from "./pages/Layout"
import Basket from "./pages/Basket"
import { Router, Route, IndexRoute, hashHistory } from "react-router"
const app = document.getElementById('app');
ReactDOM.render(
<Router history={hashHistory}>
<Route path="/" component={Layout}>
<IndexRoute component={ItemsList}></IndexRoute>
<Route path="basket" name="basket" component={Basket}></Route>
</Route>
</Router>,
app);
Header.js
import React from "react";
import { Link } from "react-router"
export default class Header extends React.Component {
render() {
const { location } = this.props;
const basketClass = location.pathname.match(/^\/basket/) ? "active" : "";
return (
<header>
<nav class="navbar navbar-default">
<div class="container">
<ul class="nav navbar-nav">
<li class={inventoryListClass}><Link to="/">Inventory</Link></li>
<li class={basketClass}><Link to="basket">Basket</Link></li>
</ul>
</div>
</nav>
</header>
);
}
}
hat jetzt jemand, warum nutzt es Großbuchstaben "/Basket", wenn ich ausdrücklich "angegeben Korb "im Routenparameter.
danke.
Layout.js
import React from "react";
import Footer from "./Footer";
import Header from "./Header";
export default class Layout extends React.Component {
render() {
const { location } = this.props
return (
<div>
<Header location={location} />
<div class="container">
{this.props.children}
</div>
<Footer />
</div>
);
}
}
Möglich, dass Sie den '/ Basket' Pfad in Ihrer URL aktiviert haben – 1ven
Es ist auch nicht klar, warum Sie versuchen,' this.props.location' -Eigenschaft von nicht-Route-Handler 'Header'-Komponente zu bekommen. Es sollte nicht "Standort" prop haben. Könnten Sie einen Komponentencode bereitstellen, der 'Header' darstellt? – 1ven
ok gerade layout.js Komponenten hinzugefügt, die Header-Komponente rendert –