


Explication détaillée de la gestion du routage React et de l'utilisation de React Router
Cette fois, je vais vous apporter une explication détaillée de la gestion du routage React et de l'utilisation de React Router. Quelles sont les précautions pour la gestion du routage React et l'utilisation de React Router. Ce qui suit est un cas pratique. , jetons un coup d'oeil.
Que fait React Router ? L'introduction officielle est :
Voici quelques utilisations de React Router : Une route de rendu simpleUne bibliothèque de routage complète pour React, maintient votre interface utilisateur synchronisée avec l'URL. Elle dispose d'une API simple avec des fonctionnalités puissantes. comme le chargement paresseux de code, la correspondance d'itinéraire dynamique et la gestion des transitions d'emplacement intégrées. Faites de l'URL votre première pensée, pas une réflexion après coup. Synchronisation, fonctionnalités puissantes telles que le chargement paresseux de code, la correspondance d'itinéraire dynamique, le traitement de transition de chemin, etc. peut être réalisé via une simple API.
Une chose doit être gardée à l'esprit , Routeur En tant que composant React, il peut être rendu.
HashHistory est utilisé ici - il gère l'historique de routage et la partie de hachage de l'URL.
// ... import { Router, Route, hashHistory } from 'react-router' render(( <Router history={hashHistory}> <Route path="/" component={App}/> </Router> ), document.getElementById('app'))
import About from './modules/About' import Repos from './modules/Repos' render(( <Router history={hashHistory}> <Route path="/" component={App}/> <Route path="/repos" component={Repos}/> <Route path="/about" component={About}/> </Router> ), document.getElementById('app'))
Le composant Lien est utilisé ici, qui peut restituer des liens et utiliser l'attribut to pour pointer vers l'itinéraire correspondant.
// modules/App.js import React from 'react' import { Link } from 'react-router' export default React.createClass({ render() { return ( <p> <h1>React Router Tutorial</h1> <ul role="nav"> <li><Link to="/about">About</Link></li> <li><Link to="/repos">Repos</Link></li> </ul> </p> ) } })
Si nous voulons ajouter une barre de navigation, elle doit exister sur chaque page. S'il n'y a pas de routeur, nous devons encapsuler chaque composant de navigation et référence et le restituer dans chaque composant de page. À mesure que l'application grandit, le code devient redondant. React-router fournit un autre moyen d'imbriquer les composants d'interface utilisateur partagés.
En fait, notre application est une série de boîtes imbriquées, et l'url correspondante peut également illustrer cette relation imbriquée :On peut donc utiliser le handle
Les composants sont imbriqué<App> {/* url / */} <Repos> {/* url /repos */} <Repo/> {/* url /repos/123 */} </Repos> </App>
Ensuite, restituez les enfants dans l'App :
// index.js // ... render(( <Router history={hashHistory}> <Route path="/" component={App}> {/* 注意这里把两个子组件放在Route里嵌套在了App的Route里/} <Route path="/repos" component={Repos}/> <Route path="/about" component={About}/> </Route> </Router> ), document.getElementById('app'))
// modules/App.js // ... render() { return ( <p> <h1>React Router Tutorial</h1> <ul role="nav"> <li><Link to="/about">About</Link></li> <li><Link to="/repos">Repos</Link></li> </ul> {/* 注意这里将子组件渲染出来 */} {this.props.children} </p> ) } // ...
L'une des différences entre le composant Link et la balise a est que Link peut savoir si le chemin vers lequel il pointe est un un routage valide.
Vous pouvez utiliser activeStyle pour spécifier le style d'un lien efficace, ou vous pouvez utiliser activeClassName pour spécifier la classe de style d'un lien efficace.
<li><Link to="/about" activeStyle={{ color: 'red' }}>About</Link></li> <li><Link to="/repos" activeStyle={{ color: 'red' }}>Repos</Link></li>
// modules/NavLink.js import React from 'react' import { Link } from 'react-router' export default React.createClass({ render() { return <Link {...this.props} activeClassName="active"/> } })
// modules/App.js import NavLink from './NavLink' // ... <li><NavLink to="/about">About</NavLink></li> <li><NavLink to="/repos">Repos</NavLink></li>
Considérez l'url suivante :
/repos/reactjs/react-router/ repos/facebook/react
Ils peuvent correspondre à cette forme :
Le
les paramètres variables
dans l'URL peuvent être obtenus via this.props.params[paramsName] : Prochaine visite /repos/reactjs/react- router et /repos/ Facebook/React verra un contenu différent.// modules/Repo.js import React from 'react' export default React.createClass({ render() { return ( <p> {/* 注意这里通过this.props.params.repoName 获取到url中的repoName参数的值 */} <h2>{this.props.params.repoName}</h2> </p> ) } })
// index.js // ... // import Repo import Repo from './modules/Repo' render(( <Router history={hashHistory}> <Route path="/" component={App}> <Route path="/repos" component={Repos}/> {/* 注意这里的路径 带了 :参数 */} <Route path="/repos/:userName/:repoName" component={Repo}/> <Route path="/about" component={About}/> </Route> </Router> ), document.getElementById('app'))
IndexRoute est ajouté ici pour spécifier le chemin par défaut/composant correspondant. Notez qu'il n'a pas de valeur d'attribut de chemin.
// index.js import { Router, Route, hashHistory, IndexRoute } from 'react-router' // and the Home component import Home from './modules/Home' // ... render(( <Router history={hashHistory}> <Route path="/" component={App}> {/* 注意这里* /} <IndexRoute component={Home}/> <Route path="/repos" component={Repos}> <Route path="/repos/:userName/:repoName" component={Repo}/> </Route> <Route path="/about" component={About}/> </Route> </Router> ), document.getElementById('app'))
L'exemple précédent a toujours utilisé hashHistory car il peut toujours s'exécuter, mais une meilleure façon consiste à utiliser l'historique du navigateur , il ne s'appuie pas sur des ports hachés (#).
Vous devez d'abord modifier index.js :Deuxièmement, vous devez modifier la configuration du service local de webpack, ouvrir package.json et ajouter –history-api-fallback :
复制代码 代码如下:
"start": "webpack-dev-server --inline --content-base . --history-api-fallback"
最后需要在 index.html中 将文件的路径改为相对路径:
<!-- index.html --> <!-- index.css 改为 /index.css --> <link rel="stylesheet" href="/index.css" rel="external nofollow" > <!-- bundle.js 改为 /bundle.js --> <script src="/bundle.js"></script>
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment créer une application de messagerie fiable avec React et RabbitMQ Introduction : Les applications modernes doivent prendre en charge une messagerie fiable pour obtenir des fonctionnalités telles que les mises à jour en temps réel et la synchronisation des données. React est une bibliothèque JavaScript populaire pour créer des interfaces utilisateur, tandis que RabbitMQ est un middleware de messagerie fiable. Cet article explique comment combiner React et RabbitMQ pour créer une application de messagerie fiable et fournit des exemples de code spécifiques. Présentation de RabbitMQ :

Guide de l'utilisateur de ReactRouter : Comment implémenter le contrôle du routage frontal Avec la popularité des applications monopage, le routage frontal est devenu un élément important qui ne peut être ignoré. En tant que bibliothèque de routage la plus populaire de l'écosystème React, ReactRouter fournit des fonctions riches et des API faciles à utiliser, rendant la mise en œuvre du routage frontal très simple et flexible. Cet article expliquera comment utiliser ReactRouter et fournira quelques exemples de code spécifiques. Pour installer ReactRouter en premier, nous avons besoin

Apache Camel est un framework d'intégration basé sur Enterprise Service Bus (ESB) qui peut facilement intégrer des applications, des services et des sources de données disparates pour automatiser des processus métier complexes. ApacheCamel utilise une configuration basée sur les routes pour définir et gérer facilement les processus d'intégration. Les principales fonctionnalités d'ApacheCamel incluent : Flexibilité : ApacheCamel peut être facilement intégré à une variété d'applications, de services et de sources de données. Il prend en charge plusieurs protocoles, notamment HTTP, JMS, SOAP, FTP, etc. Efficacité : ApacheCamel est très efficace, il peut gérer un grand nombre de messages. Il utilise un mécanisme de messagerie asynchrone, qui améliore les performances. Extensible

PHP, Vue et React : Comment choisir le framework front-end le plus adapté ? Avec le développement continu de la technologie Internet, les frameworks front-end jouent un rôle essentiel dans le développement Web. PHP, Vue et React sont trois frameworks front-end représentatifs, chacun avec ses propres caractéristiques et avantages. Lorsqu'ils choisissent le framework front-end à utiliser, les développeurs doivent prendre une décision éclairée en fonction des besoins du projet, des compétences de l'équipe et des préférences personnelles. Cet article comparera les caractéristiques et les usages des trois frameworks front-end PHP, Vue et React.

Intégration du framework Java et du framework React : Étapes : Configurer le framework Java back-end. Créer une structure de projet. Configurez les outils de construction. Créez des applications React. Écrivez les points de terminaison de l'API REST. Configurez le mécanisme de communication. Cas pratique (SpringBoot+React) : Code Java : Définir le contrôleur RESTfulAPI. Code React : obtenez et affichez les données renvoyées par l'API.

Méthode de mise en œuvre et résumé de l'expérience de la configuration flexible des règles de routage en PHP Introduction : Dans le développement Web, les règles de routage sont une partie très importante, qui détermine la relation correspondante entre l'URL et les scripts PHP spécifiques. Dans la méthode de développement traditionnelle, nous configurons généralement diverses règles d'URL dans le fichier de routage, puis mappons l'URL sur le chemin de script correspondant. Cependant, à mesure que la complexité du projet augmente et que les exigences commerciales changent, il deviendra très lourd et peu flexible si chaque URL doit être configurée manuellement. Alors, comment implémenter en PHP

Dans les applications Web modernes, la mise en œuvre de la navigation et du routage des pages Web est un élément très important. L'utilisation de fonctions JavaScript pour implémenter cette fonction peut rendre nos applications Web plus flexibles, évolutives et conviviales. Cet article explique comment utiliser les fonctions JavaScript pour implémenter la navigation et le routage des pages Web, et fournit des exemples de code spécifiques. Implémentation de la navigation Web Pour une application Web, la navigation Web est la partie la plus fréquemment utilisée par les utilisateurs. Lorsqu'un utilisateur clique sur la page

Uniapp est un framework cross-end basé sur Vue.js. Il prend en charge l'écriture unique et génère en même temps des applications multi-end telles que H5, des mini-programmes et des applications. Il accorde une grande attention aux performances et à l'efficacité du développement pendant le développement. processus de développement. Dans Uniapp, l'ajout et la suppression dynamiques de routes est un problème souvent rencontré lors du processus de développement. Par conséquent, cet article présentera l'ajout et la suppression dynamiques de routes dans Uniapp et fournira des exemples de code spécifiques. 1. Ajoutez dynamiquement des itinéraires Ajoutez dynamiquement des itinéraires en fonction des besoins réels, lorsque la page est chargée ou après une opération de l'utilisateur.
