Table des matières
Comment l'implémenter spécifiquement ?
我是vue : {{aaa}}
当前是react项目内
高级版
Site officiel : https://vue-loader.vuejs.org/guide/#manual-setup
Maison interface Web js tutoriel Comment exécuter des composants vue dans un projet React ? Présentation de la méthode

Comment exécuter des composants vue dans un projet React ? Présentation de la méthode

Apr 11, 2022 pm 08:51 PM
react vue

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 !

Comment exécuter des composants vue dans un projet React ? Présentation de la méthode

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

Comment exécuter des composants vue dans un projet React ? Présentation de la méthode

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 &#39;vue/dist/vue.min.js&#39; // 引入完整版,否则不能解析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(&#39;#vueApp&#39;)
  }

  render() {
    return (
      <div>
        <h1 id="当前是react项目内">当前是react项目内</h1>
        <h1 id="当前是react项目内">当前是react项目内</h1>
        以下将渲染vue组件
        <div id="vueApp" />
      </div>
    )
  }
}
Copier après la connexion

注意:

如果只需支持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 
        } 
    } 
}
Copier après la connexion

高级版

此处高级版指的是:需要支持 .vue文件/组件(上面的demo,直接是组件选项对象,没有.vue文件)

比如:(继续用上面的demo,改几行)

  • 改成了引入.vue文件: import Foo from "./Foo.vue";

dans new Vue(..).$mount('#vueApp')

import Vue from &#39;vue/dist/vue.min.js&#39; // 引入完整版,否则不能解析vue的组件对象语法
import Foo from "./Foo.vue";
export default class App extends Component {
  ...
  
  componentDidMount() {
    new Vue({
      render: h => h(Foo),
    }).$mount(&#39;#vueApp&#39;)
  }

  ...
}
Copier après la connexion
  • 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(&#39;vue-loader&#39;)
    
    module.exports = {
      mode: &#39;development&#39;,
      module: {
        rules: [
          {
            test: /.vue$/,
            loader: &#39;vue-loader&#39;
          }
        ]
      },
      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 oneOfSi 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 plusRésuméDois-je configurer le chargeur de webpack.config.js ?

    Il 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 !

    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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

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 !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Vue.js vs react: Considérations spécifiques au projet Vue.js vs react: Considérations spécifiques au projet Apr 09, 2025 am 12:01 AM

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.

Comment ajouter des fonctions aux boutons pour Vue Comment ajouter des fonctions aux boutons pour Vue Apr 08, 2025 am 08:51 AM

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.

Le rôle de React dans HTML: Amélioration de l'expérience utilisateur Le rôle de React dans HTML: Amélioration de l'expérience utilisateur Apr 09, 2025 am 12:11 AM

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é.

Comment sauter à la div de Vue Comment sauter à la div de Vue Apr 08, 2025 am 09:18 AM

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.

Comment sauter une balise à Vue Comment sauter une balise à Vue Apr 08, 2025 am 09:24 AM

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 and the frontend: construire des expériences interactives React and the frontend: construire des expériences interactives Apr 11, 2025 am 12:02 AM

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

Comment passer les paramètres pour la fonction Vue Comment passer les paramètres pour la fonction Vue Apr 08, 2025 am 07:36 AM

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 et la pile frontale: les outils et les technologies React et la pile frontale: les outils et les technologies Apr 10, 2025 am 09:34 AM

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.

See all articles