Ich beginne meine Reise react.js, und mein Ziel ist es, eine einzelne Seite Anwendung zu erstellen, wo die oberen Navigationslinks zum entsprechenden Abschnitt auf der Titelseite wie THIS SITE scrollen.React.js und Scrolling SPA
Bis jetzt implementiert Meine Anwendung React.js und React-Router und Nester die Link-Komponenten innerhalb der Titelseite. Womit ich mich abmühen muss, ist die korrekte Implementierung, um diesen Code zu ändern, um das im obigen Link gezeigte Ergebnis zu erhalten. Es gibt viele SPA Tutorials, aber ich muss noch eine aktuelle finden, die mein spezielles Szenario mit React.js + React-Router anspricht. Würde jemand einen sauberen Weg kennen, dies zu tun? oder vielleicht ein aktuelles Tutorial, das einen durch den Prozess führt?
Im Folgenden werde ich einige relevante Code auflisten, um die Antworten für eine Lösung (oder Empfehlung) zu helfen. Ich danke Ihnen im Voraus für alle Antworten, die ich erhalte.
Sehr respekt, Kama
Client.js
const app = document.getElementById('app');
ReactDOM.render(
<Router history={hashHistory}>
<Route path="/" component={Layout}>
<IndexRoute component={Home} />
<Route path="AboutUs" component={AboutUs}></Route>
<Route path="OurMission" component={OurMission}></Route>
</Route>
</Router>,
app);
Layout.js
export default class Layout extends React.Component {
render() {
const { location } = this.props;
return (
<div>
<Nav location={location}/>
<div class="container">
<div class="row">
<div class="col-lg-12">
<Header />
{this.props.children}
</div>
</div>
<Footer />
</div>
</div>
);
}
}
index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Haki</title>
<!-- Bootstrap Core CSS -->
<link href="https://maxcdn.bootstrapcdn.com/bootswatch/3.3.6/cerulean/bootstrap.min.css" rel="stylesheet">
<!-- Custom Fonts -->
<link href="font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">
<link href="http://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,700,300italic,400italic,700italic" rel="stylesheet" type="text/css">
</head>
<body>
<div id="app"></div>
<script src="client.min.js"></script>
</body>
</html>
Es gibt eine coole Lib, mit der Sie die Position von Komponenten verfolgen können (https://github.com/gilbox/react-track). Was ist dein Argument für die Verwendung eines Routers? Könnten Sie nicht einfach Knöpfe haben, die, wenn Sie darauf klicken, die Lib benutzen, die ich verlinkt habe, und dann einen Bildlauf zum entsprechenden Ort machen? Oder Sie könnten die guten alten nativen Anchor-Tags in Betracht ziehen: D – ctrlplusb