Description du projet React
Un projet React typique se compose de plusieurs fichiers et dossiers, chaque partie ayant son rôle spécifique.
Ce chapitre fournit une explication de base du code d'un projet React pour vous aider à comprendre la structure du projet et les fonctions de chaque partie.
Un projet React se compose de plusieurs fichiers et dossiers. Les fichiers principaux incluent :
index.html、index.jsetApp.js。Les composants React sont les briques de base d'une application, et peuvent être des composants fonctionnels ou des composants de classe.
JSX est la syntaxe centrale de React, utilisée pour décrire l'interface utilisateur.
Les props et le state sont les principaux moyens de gérer les données dans les composants React.
Structure du projet
Un projet React comprend généralement les fichiers et dossiers suivants :
my-react-app/ ├── node_modules/ # 项目依赖的第三方库 ├── public/ # 静态资源文件夹 │ ├── index.html # 应用的 HTML 模板 │ └── ... # 其他静态资源(如图片、字体等) ├── src/ # 项目源代码 │ ├── App.js # 主组件 │ ├── App.css # 主组件的样式 │ ├── index.js # 项目入口文件 │ ├── index.css # 全局样式 │ └── ... # 其他组件和资源 ├── package.json # 项目配置和依赖管理 ├── package-lock.json # 依赖的精确版本锁定文件 └── README.md # 项目说明文档
Analyse des fichiers principaux
public/index.html
public/index.htmlEst le fichier modèle HTML de l'application React.
React va effectuer le rendu du composant dans<div id="root"></div>à l'intérieur.
Exemple
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Application React</title>
</head>
<body>
<div id="root"></div>
</body>
</html>
src/index.js
src/index.jsEst le fichier d'entrée de l'application React.src/index.jsResponsable du rendu du composant racine (généralement App) dans div#root dans index.html.
Exemple
import ReactDOM from 'react-dom';
import App from './App';
import './index.css';
ReactDOM.render(
<React.StrictMode>
<Application />
</React.StrictMode>,
document.getElementById('root')
);
src/App.js
src/App.jsEst le composant racine de l'application React.
src/App.jsContient généralement la logique principale et la structure de l'application.
Exemple
import './App.css';
function App() {
return (
<div className="App">
<h1>Bonjour, React!</h1>
</div>
);
}
export default App;
src/App.css
src/App.css Est le fichier de style du composant App.
Exemple
text-align: center;
margin-top: 50px;
}
src/index.css
src/index.cssEst le fichier de style global, généralement utilisé pour définir des styles globaux ou réinitialiser les styles par défaut du navigateur.
Exemple
margin: 0;
font-family: Arial, sans-serif;
}
package.json
package.jsonIl s'agit du fichier de configuration du projet, contenant les métadonnées, les dépendances et les scripts du projet.
Exemple
"name": "my-react-app",
"version": "1.0.0",
"scripts": {
"start": "react-scripts start", // Démarrer le serveur de développement
"build": "react-scripts build", // Compiler le code de production
"test": "react-scripts test", // Exécuter les tests
"eject": "react-scripts eject" // Éjecter la configuration (utilisation avancée)
},
"dependencies": {
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-scripts": "5.0.1"
}
}
Structure de base des composants React
Les composants React sont les éléments constitutifs essentiels des applications React.
Un composant contient généralement les parties suivantes :
1. Composants fonctionnels
Composants définis à l'aide de fonctions.
Exemple
function MyComponent() {
return (
<div>
<h2>Ceci est un composant défini par une fonction.</h2>
</div>
);
}
export default MyComponent;
Explication :
-
import React from 'react';: Importation de la bibliothèque React ; React est une bibliothèque JavaScript pour créer des interfaces utilisateur. -
function MyComponent() { ... }: Ceci est un composant fonction. Un composant fonction est une fonction JavaScript qui renvoie du JSX. -
return (...): du composantreturninstruction renvoie un élément JSX. JSX est une extension syntaxique de JavaScript, permettant d'écrire du code de type HTML en JavaScript. export default MyComponent;: LeMyComponentcomposant est exporté comme export par défaut. De cette façon, d'autres fichiers peuventimport MyComponent from './MyComponent';importer et utiliser ce composant.
2. Composants de classe
Composants définis à l'aide de classes (maintenant moins courants ; les composants fonction sont recommandés).
Exemple
class MyComponent extends Component {
render() {
return (
<div>
<h2>Ceci est un composant de classe.</h2>
</div>
);
}
}
export default MyComponent;
Explication :
import React from 'react';: Importer la bibliothèque React ; c'est la base pour utiliser React.import { Component } from 'react';: Depuis la bibliothèque React, importerComponentclass.ComponentEst la classe de base pour les composants de classe React ; tous les composants de classe doivent l'étendre.class MyComponent extends Component { ... }: Défini unMyComponentcomposant de classe nommé. Il étendComponentclasse, donc il peut utiliser les fonctionnalités des composants de classe React (telles que les méthodes de cycle de vie, la gestion d'état, etc.).render() { ... }:renderEst la méthode qui doit être implémentée dans un composant de classe. Elle est chargée de renvoyer la structure de l'interface utilisateur (JSX) du composant.return (...): Renvoie un élément JSX, décrivant l'interface utilisateur du composant.<div><h2>这是一个类组件</h2></div>: Il s'agit d'une structure JSX simple, contenant undivet unh2titre.
export default MyComponent;: LeMyComponentcomposant est exporté comme export par défaut. De cette façon, d'autres fichiers peuventimport MyComponent from './MyComponent';importer et utiliser ce composant.
3、JSX
JSX est une extension syntaxique de JavaScript, permettant d'écrire du code de type HTML en JavaScript.
Exemple
4、Props
Les props sont des paramètres d'entrée d'un composant, utilisés pour transmettre des données d'un composant parent à un composant enfant.
Exemple
return <h1>Bonjour, {props.name}</h1>;
}
function App() {
return <Welcome name="React" />;
}
5、State
State est l'état interne d'un composant, utilisé pour gérer les données du composant.
Exemple (utilisation du Hook useState)
function Counter() {
const [count, setCount] = useState(0);
return (
<div>
<p>Compteur: {count}</p>
<button onClick={() => setCount(count + 1)}>Bouton</Incrémenter>
</div>
);
}
export default Counter;
Processus d'exécution d'un projet React
Démarrer le serveur de développement
Exécuteznpm startouyarn start, démarrez le serveur de développement.
Ouvrez votre navigateur et visitez http://localhost:3000 pour voir l'application.
Générer le code de production
Exécuteznpm run buildouyarn build, générant du code de production optimisé.
Exécuter les tests
Exécuteznpm testouyarn test, exécutant les cas de test du projet.
Autres extensions