Ich fange an, mit React zu arbeiten, und ich habe ein Problem zu verstehen, wie man react-router funktioniert.React Router wird nicht aktualisiert View
In meinem Projekt habe ich eine App.js
-Datei erstellt, die eine einfache Render Funktion exportiert:
export default class App extends React.Component {
render() {
return <Router>
<div>
<Link to="/connected">Login</Link>
<Link to="/">Home</Link>
<Route path="/connected" component={Connected}/>
<Route exact path="/" component={LoginPage}/>
</div>
</Router>
}
}
Natürlich am Anfang der Datei, ich importieren zwei Komponenten: Connected
und LoginPage
und ein paar andere Komponenten:
import React from 'react'
import {
HashRouter as Router,
Route,
Link
} from 'react-router-dom'
import LoginPage from './pages/LoginPage'
import Connected from './pages/Connected'
Meine Komponenten sind ganz einfach:
import React from 'react'
export default class LoginPage extends React.Component {
render() {
return <div>
Hello World 1
</div>
}
}
Und so ziemlich das gleiche für die zweite Komponente.
Mein Problem ist:
Wenn ich auf einem <Link to="/">Home</Link>
klicken, wird die Seite nicht mit der LoginPage
Komponente aktualisiert. Aber wenn ich die Seite aktualisiere, erscheint die LoginPage
Komponente. Wenn ich auf <Link to="/connected">Login</Link>
klicke, aktualisiert der Router die Seite nicht und ich muss auch die Seite vollständig aktualisieren, um die richtige Komponente anzuzeigen.
Was mache ich falsch? Welche anderen Informationen benötigen Sie, um mir bei der Lösung meines Problems zu helfen?
Dies ist nur eine Vermutung. Ersetzen Sie 'HashRouter' durch' BrowserRouter' –
Ich habe den BrowserRouter ausprobiert, aber es hat auch nicht funktioniert. Ich habe mich entschieden, den HashRouter zu verwenden, da mein Dev-Server nur die von Ihnen verwendete '/' URL – Hammerbot
React Router-Version bereitstellt? Ich nehme an, dass Sie Version 4 verwenden. – Dez