


Comment exécuter des composants vue dans un projet React ? Présentation de la méthode
Comment exécuter les composants
vue dans le projet react ? L'article suivant vous présentera la méthode d'exécution des composants vue dans les projets React à travers des exemples. J'espère qu'il vous sera utile !
Le contexte de cet article vient d'une interview. On m'a demandé : Si les composants vue et React doivent interopérer et réutiliser, comment peuvent-ils être implémentés avec élégance ?
Sauf que les développeurs transfèrent manuellement le code. Actuellement, je ne pense qu'à 2 solutions
Option 1 : Conversion mutuelle du code vue et du code React (synchronisation de la bibliothèque de composants)
Option 2 : Laisser directement le composant vue s'exécuter dans le projet React, et vice-versa vers peut.
[Recommandations associées : Tutoriel vidéo Redis, Tutoriel vuejs]
Voyons d'abord l'effet d'implémentation
Le composant vue a été rendu normalement en réalité, et j'ai aussi cliqué Après avoir appuyé 3 fois sur le bouton, la réponse et le rendu de vue sont également normaux
Comment l'implémenter spécifiquement ?
Principe d'implémentation
Introduire la version complète de vue (si vous tenez compte des performances, vous pouvez l'introduire à la demande)
Attendez l'étape ComponentDidMount et montez
<div id="vueApp"></div>
Après<div id="vueApp"></div>
后在
new Vue(..).$mount('#vueApp')
import Vue from 'vue/dist/vue.min.js' // 引入完整版,否则不能解析vue的组件对象语法 export default class App extends Component { constructor(props) { super(props) } componentDidMount() { const Foo = { template: ` <div> <h1 id="我是vue-nbsp-nbsp-aaa">我是vue : {{aaa}}</h1> <h1 id="我是vue-nbsp-nbsp-aaa">我是vue : {{aaa}}</h1> <h1 id="我是vue-nbsp-nbsp-aaa">我是vue : {{aaa}}</h1> <button @click="aaa++">按钮</button> </div> `, data () { return { aaa: 2222 } } } new Vue({ render: h => h(Foo), }).$mount('#vueApp') } render() { return ( <div> <h1 id="当前是react项目内">当前是react项目内</h1> <h1 id="当前是react项目内">当前是react项目内</h1> 以下将渲染vue组件 <div id="vueApp" /> </div> ) } }
注意:
如果只需支持vue的组件选项对象的话,那么不用配置webpack,就完了
vue的组件选项对象 指的是:
const Foo = { template: ` <div> <h1 id="我是vue-nbsp-nbsp-aaa">我是vue : {{aaa}}</h1> <h1 id="我是vue-nbsp-nbsp-aaa">我是vue : {{aaa}}</h1> <h1 id="我是vue-nbsp-nbsp-aaa">我是vue : {{aaa}}</h1> <button @click="aaa++">按钮</button> </div> `, data () { return { aaa: 2222 } } }
高级版
此处高级版指的是:需要支持 .vue文件/组件(上面的demo,直接是组件选项对象,没有.vue文件)
比如:(继续用上面的demo,改几行)
- 改成了引入.vue文件:
import Foo from "./Foo.vue";
dans new Vue(..).$mount('#vueApp')
import Vue from 'vue/dist/vue.min.js' // 引入完整版,否则不能解析vue的组件对象语法 import Foo from "./Foo.vue"; export default class App extends Component { ... componentDidMount() { new Vue({ render: h => h(Foo), }).$mount('#vueApp') } ... }
- Remarque :
si vous avez uniquement besoin de prendre en charge l'objet d'option de composant de vue, alors vous n'avez pas besoin de configurer webpack
- L'objet d'option de composant de vue fait référence à :
// 在 webpack.config.js 内 const { VueLoaderPlugin } = require('vue-loader') module.exports = { mode: 'development', module: { rules: [ { test: /.vue$/, loader: 'vue-loader' } ] }, plugins: [ // make sure to include the plugin for the magic new VueLoaderPlugin() ] }
Copier après la connexion. Version avancée
cela La version avancée fait référence à : Besoin de prendre en charge les fichiers/composants .vue (la démo ci-dessus est directement l'objet d'option du composant, il n'y a pas de fichier .vue)- Par exemple : (Continuez à utiliser le démo ci-dessus et changez quelques lignes) Changé pour importer des fichiers .vue :
import Foo from "./Foo.vue";
- rrreee
Pour prendre effet à ce moment, vous devez pour configurer vue-loader
Site officiel : https://vue-loader.vuejs.org/guide/#manual-setup
- rrreee
Notes
-
Il est recommandé lors des tests , n'utilisez pas de projets d'échafaudage React
, utilisez scratch Configuration du projet React de webpack.config.js
Lorsque j'utilise actuellement la dernière version d'échafaudage, après avoir exécuté eject, j'obtiendrai une erreur lors de l'écriture webpack.config.js car VueLoaderPlugin n'est pas compatible avec la syntaxe de oneOf
Si vous n'avez pas besoin d'analyser le fichier .vue et d'utiliser directement la syntaxe de l'objet d'option de composant de vue, alors il n'est pas nécessaire de configurer vue -loader en plusIl est recommandé de ne pas utiliser React lors du test d'un projet échafaudé, en utilisant un projet React qui configure webpack.config.js à partir de zéroSi vous ne le faites pas 'pas besoin d'analyser le fichier .vue et d'utiliser directement la syntaxe de l'objet d'option de composant de vue, alors il n'est pas nécessaire de configurer vue-loader Enfin, comparons la différence de configuration entre l'utilisation de composants React dans les projets Vue et utiliser les composants vue dans les projets React ! Dois-je configurer le chargeur de webpack.config.js ?Lorsque vous utilisez des composants React dans des projets Vue
oui, vous devez configurer babel-loader,
compiler les fichiers .jsx🎜, et vous devez accorder une attention particulière aux options de babel-loader 🎜🎜🎜🎜 in React Le composant vue 🎜🎜🎜no🎜 est utilisé dans le projet. Si vous n'avez pas besoin d'analyser le fichier .vue et d'utiliser directement la syntaxe 🎜component option object🎜 de vue, alors aucune configuration supplémentaire n'est nécessaire. 🎜vue-loader🎜. Si vous devez prendre en charge les fichiers .vue🎜, vous devez configurer vue-loader🎜🎜🎜🎜🎜🎜Cet article est reproduit à partir de : https://juejin.cn/post/7083303446161391623🎜🎜Auteur : bigtree🎜🎜🎜Pour en savoir plus connaissances liées à la programmation, veuillez visiter : 🎜Vidéos de programmation🎜 ! ! 🎜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

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

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)

Sujets chauds

Vue.js convient aux projets de petite et moyenne taille et aux itérations rapides, tandis que React convient aux applications grandes et complexes. 1) Vue.js est facile à utiliser et convient aux situations où l'équipe est insuffisante ou l'échelle du projet est petite. 2) React a un écosystème plus riche et convient aux projets avec des performances élevées et des besoins fonctionnels complexes.

Vous pouvez ajouter une fonction au bouton VUE en liant le bouton dans le modèle HTML à une méthode. Définissez la logique de la fonction de méthode et d'écriture dans l'instance Vue.

React combine JSX et HTML pour améliorer l'expérience utilisateur. 1) JSX incorpore du HTML pour rendre le développement plus intuitif. 2) Le mécanisme DOM virtuel optimise les performances et réduit les opérations DOM. 3) Interface utilisateur de gestion basée sur les composants pour améliorer la maintenabilité. 4) La gestion des états et le traitement des événements améliorent l'interactivité.

Il existe deux façons de sauter des éléments div dans Vue: Utilisez le routeur Vue et ajoutez le composant routeur-link. Ajoutez l'écouteur de l'événement @Click et appelez ceci. $ Router.push () pour sauter.

Les méthodes pour implémenter le saut d'une balise dans Vue incluent: l'utilisation de la balise A dans le modèle HTML pour spécifier l'attribut HREF. Utilisez le composant routeur-link du routage Vue. Utilisez cette méthode. $ Router.push () dans JavaScript. Les paramètres peuvent être passés à travers le paramètre de requête et les itinéraires sont configurés dans les options de routeur pour les sauts dynamiques.

React est l'outil préféré pour construire des expériences frontales interactives. 1) Réagir simplifie le développement de l'interface utilisateur par la composontisation et le DOM virtuel. 2) Les composants sont divisés en composants de fonction et composants de classe. Les composants de fonction sont plus simples et les composants de la classe fournissent plus de méthodes de cycle de vie. 3) Le principe de travail de React repose sur le DOM virtuel et l'algorithme de réconciliation pour améliorer les performances. 4) La gestion de l'État utilise USESTATE ou This. State, et des méthodes de cycle de vie telles que ComponentDidMount sont utilisées pour une logique spécifique. 5) L'utilisation de base comprend la création de composants et la gestion de l'état, et l'utilisation avancée implique des crochets personnalisés et une optimisation des performances. 6) Les erreurs courantes incluent les mises à jour de statut et les problèmes de performance inappropriés, les compétences de débogage comprennent l'utilisation de Reactdevtools et d'excellents

Il existe deux façons principales de transmettre des paramètres aux fonctions Vue.js: passer des données à l'aide de machines à sous ou lier une fonction avec Bind, et fournir des paramètres: passer des paramètres à l'aide de slots: passer des données dans des modèles de composants, accessibles dans les composants et utilisé comme paramètres de la fonction. PASS Paramètres à l'aide de Bind Binding: Bind Fonction dans l'instance Vue.js et fournissez des paramètres de fonction.

React est une bibliothèque JavaScript pour la construction d'interfaces utilisateur, avec ses composants principaux et sa gestion de l'État. 1) Simplifiez le développement de l'interface utilisateur par la composontisation et la gestion de l'État. 2) Le principe de travail comprend la réconciliation et le rendu, et l'optimisation peut être mise en œuvre via React.Memo et UseMemo. 3) L'utilisation de base est de créer et de rendre des composants, et l'utilisation avancée comprend l'utilisation de crochets et de contextapi. 4) Erreurs courantes telles que la mise à jour du statut incorrect, vous pouvez utiliser ReactDevTools pour déboguer. 5) L'optimisation des performances comprend l'utilisation de React.Memo, des listes de virtualisation et de la circulation des codes, et la maintenance de code et maintenable du code est la meilleure pratique.
