Reagieren Sie auf der Weiterleitungsseite auf die Schaltfläche Reagieren
Lesezeit: 6 Minuten
Raju dein Pepe
Ich arbeite an einer Webanwendung mit React und Bootstrap. Wenn es um die Anwendung von Button onClick geht, fällt es mir schwer, eine Seite auf eine andere umzuleiten. Wenn ich nach einem href nicht auf die andere Seite gehen kann.
Würden Sie mir bitte sagen, ob es notwendig ist, React-Navigation oder andere zu verwenden, um mit Button onClick auf der Seite zu navigieren?
Nachdem ich den obigen Code verwendet habe, bin ich immer noch auf derselben Seite. Muss ich darüber hinaus weitere Arbeiten ausführen?
– Rohit Sawai
9. Dezember 2019 um 11:49 Uhr
Ich nehme an, nein .. hast du deine Komponente mit umwickelt withRouter ?
– aravind_reddy
9. Dezember 2019 um 11:58 Uhr
Können Sie es Sandbox hinzufügen und mir den Link geben, damit ich Ihr Problem besser lösen kann
– aravind_reddy
9. Dezember 2019 um 13:11 Uhr
Kann das in v5.1.2 mit Hooks nicht machen. React Hook "useHistory" is called in function "routeChange" which is neither a React function component or a custom React Hook function. Bearbeiten: Verschieben const history = useHistory() außerhalb des Handlers, wenn Sie mit diesem Problem konfrontiert sind.
– Karkod
6. Mai 2020 um 23:28 Uhr
Ich bin mir nicht sicher, ob dies nützlich ist, aber wenn Sie React Router v6 verwenden oder verwenden möchten, können Sie es nicht verwenden useHistory mehr. Sie haben es durch ersetzt useNavigate. const navigate = useNavigate(); navigate('../edit') Dies wird von /some/path/profile nach /some/path/edit verschoben
– Puja Kulkarni
2. Januar um 7:55
Verwenden Sie keine Schaltfläche als Link. Verwenden Sie stattdessen einen als Schaltfläche gestalteten Link.
Ich habe einen Fehler, nicht sicher, ob das damit zusammenhängt, link is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`.
– Jason Liu
11. Mai 2021 um 20:47 Uhr
Das ist aber nicht die Frage.
– Sören
9. September 2021 um 23:43 Uhr
Reaktionsrouter v5.1.2:
import { useHistory } from 'react-router-dom';
const App = () => {
const history = useHistory()
<i className="icon list arrow left"
onClick={() => {
history.goBack()
}}></i>
}
Ich bin bereits in der Zeile ‘const history = useHistory()’ wegen ‘TypeError: Cannot read property ‘history’ of undefined’ gescheitert. Haben Sie etwas von der React-Router-Dom in Ihrer index.js verwendet?
– ostmond
24. Januar 2020 um 10:16 Uhr
rudresch solanki
Dies ist sehr einfach möglich, Sie müssen dafür keine andere Funktion oder Bibliothek verwenden.
Ich habe versucht, einen Weg mit Redirect zu finden, bin aber gescheitert. OnClick umzuleiten ist einfacher als wir denken. Platzieren Sie einfach das folgende grundlegende JavaScript in Ihrer onClick-Funktion, kein Affentheater:
Ye, dies widerspricht dem Zweck der Verwendung von React, um eine Single-Page-Anwendung zu erstellen, wird dazu führen, dass Ihr gesamter Reaktionscode erneut gesendet wird usw. usw. (Dinge wie der Verlauf werden wahrscheinlich zurückgesetzt)
– E.Serra
13. November 2020 um 11:42 Uhr
Azametzin
Importieren Sie es zuerst:
import { useHistory } from 'react-router-dom';
Dann, in Funktion oder Klasse:
const history = useHistory();
Schließlich steckst du es in die onClick Funktion:
Ye, dies widerspricht dem Zweck der Verwendung von React, um eine Single-Page-Anwendung zu erstellen, wird dazu führen, dass Ihr gesamter Reaktionscode erneut gesendet wird usw. usw. (Dinge wie der Verlauf werden wahrscheinlich zurückgesetzt)
– E.Serra
13. November 2020 um 11:42 Uhr
Kareem Khaleel
Eine sehr einfache Möglichkeit, dies zu tun, ist die folgende:
onClick={this.fun.bind(this)}
und für die funktion:
fun() {
this.props.history.push("/Home");
}
finlay müssen Sie mit Router importieren:
import { withRouter } from 'react-router-dom';
und exportiere es als:
export default withRouter (comp_name);
12458100cookie-checkReagieren Sie auf der Weiterleitungsseite auf die Schaltfläche Reagierenyes
siehe dies http://stackoverflow.com/questions/31079081/…
– aravind_reddy
1. Juni 2018 um 13:58 Uhr