Heim  >  Artikel  >  Web-Frontend  >  So verwenden Sie Routing in React Router4.0 und höher

So verwenden Sie Routing in React Router4.0 und höher

小云云
小云云Original
2018-02-03 14:51:002350Durchsuche

Dieser Artikel stellt Ihnen hauptsächlich die detaillierte Erklärung der Routing-Anwendung von React Router 4.0 und höher vor. Der Herausgeber findet ihn recht gut, daher werde ich ihn jetzt mit Ihnen teilen und als Referenz geben. Folgen wir dem Herausgeber und schauen wir uns das an. Ich hoffe, es kann allen helfen.

In React Routern unter 4.0 können verschachtelte Routen in der folgenden Form in einem Router-Tag platziert werden, und verschachtelte Routen werden auch direkt zusammen platziert.


<Route component={App}>
  <Route path="groups" components={Groups} />
  <Route path="users" components={Users}>
   <Route path="users/:userId" component={Profile} />
  </Route>
</Route>

Aber nach 4.0 ist das verschachtelte Routing völlig anders als zuvor und muss für die Verarbeitungsroute separat in der verschachtelten Stammkomponente platziert werden, andernfalls wird dies der Fall sein Seien Sie immer eine Warnung:

Sie sollten 42bfd8b526bc811288c2e7d407a88737 nicht in derselben Route verwenden

Die korrekte Form ist wie folgt


<Route component={App}>
  <Route path="groups" components={Groups} />
  <Route path="users" components={Users}>
   //<Route path="users/:userId" component={Profile} />
  </Route>
</Route>

Kommentieren Sie das obige verschachtelte Routing aus


const Users = ({ match }) => (
 <p>
  <h2>Topics</h2>
  <Route path={`${match.url}/:userId`} component={Profile}/>
 </p>
)

Fügen Sie auf der Komponente, die ein verschachteltes Routing erfordert, ein neues hinzu Route in

Ein vollständiges Beispiel für eine verschachtelte Route lautet wie folgt

Anweisungen und Vorsichtsmaßnahmen

1 Der folgende Code ist im ES6-Format

2. Die React-Router-Dom-Version ist 4.1.1

3. Bitte achten Sie darauf, den Verlauf wie HashRouter zu verwenden, da sonst immer eine Warnung angezeigt wird und nicht gerendert werden kann


import React, { Component } from &#39;react&#39;;
import ReactDOM from &#39;react-dom&#39;;
// import { Router, Route, Link, Switch } from &#39;react-router&#39;;
import {
 HashRouter,
 Route,
 Link,
 Switch
} from &#39;react-router-dom&#39;;

class App extends Component {
 render() {
  return (
   <p>
    <h1>App</h1>
    <ul>
     <li><Link to="/">Home</Link></li>
     <li><Link to="/about">About</Link></li>
     <li><Link to="/inbox">Inbox</Link></li>
    </ul>
    {this.props.children}

   </p>
  );
 }
}

const About = () => (
 <p>
  <h3>About</h3>
 </p>
)

const Home = () => (
 <p>
  <h3>Home</h3>
 </p>
)

const Message = ({ match }) => (
 <p>
  <h3>new messages</h3>
  <h3>{match.params.id}</h3>
 </p>
)

const Inbox = ({ match }) => (
 <p>
  <h2>Topics</h2>
  <Route path={`${match.url}/messages/:id`} component={Message}/>

 </p>
) 

ReactDOM.render(
 (<HashRouter>
  <App>
    <Route exact path="/" component={Home} />
    <Route path="/about" component={About} />
    <Route path="/inbox" component={Inbox} />
  </App>
 </HashRouter>),
 document.getElementById(&#39;root&#39;)
);

Verwandte Empfehlungen:

react-router4 arbeitet mit Webpack require.ensure zusammen, um asynchrones Laden zu erreichen

Das obige ist der detaillierte Inhalt vonSo verwenden Sie Routing in React Router4.0 und höher. 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