Heim  >  Artikel  >  Web-Frontend  >  Fassen Sie ein Beispiel-Tutorial zu React-Router JS zusammen, das Routing-Sprünge steuert

Fassen Sie ein Beispiel-Tutorial zu React-Router JS zusammen, das Routing-Sprünge steuert

零下一度
零下一度Original
2018-05-15 11:31:422496Durchsuche

In diesem Artikel wird hauptsächlich die Sprunginstanz react-router JS control routing vorgestellt, die den React-Router direkt zum Implementieren des Routings verwenden kann. Interessierte können sich über die

Link-Komponente informieren, die für normale Benutzerklicks zum Springen verwendet wird, aber manchmal sind auch Vorgänge wie Formularsprünge und Button--Sprünge erforderlich. Wie verbinde ich diese Situationen mit React Router?
Unten finden Sie ein Formular.

<form onSubmit={this.handleSubmit}>
 <input type="text" placeholder="userName"/>
 <input type="text" placeholder="repo"/>
 <button type="submit">Go</button>
</form>

Die erste Methode ist die Verwendung von browserHistory.push

import { browserHistory } from &#39;react-router&#39;

// ...
 handleSubmit(event) {
  event.preventDefault()
  const userName = event.target.elements[0].value
  const repo = event.target.elements[1].value
  const path = `/repos/${userName}/${repo}`
  browserHistory.push(path)
 },

Die zweite Methode ist die Verwendung von contextobject.

export default React.createClass({

 // ask for `router` from context
 contextTypes: {
  router: React.PropTypes.object
 },

 handleSubmit(event) {
  // ...
  this.context.router.push(path)
 },
})

Das obige ist der detaillierte Inhalt vonFassen Sie ein Beispiel-Tutorial zu React-Router JS zusammen, das Routing-Sprünge steuert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn