# Mise en garde đŸ˜± Notre objectif est de fournir un moyen simple d'utiliser ThreeJS dans VueJS avec la meilleure expĂ©rience de dĂ©veloppement possible. Cependant, vous devez ĂȘtre conscient de certaines mises en garde. ## ~~HMR et ThreeJS~~ :::info Cela a Ă©tĂ© corrigĂ© dans **TresJS** v1.7.0 🎉. Vous pouvez dĂ©sormais utiliser HMR sans avoir Ă  recharger la page đŸ„č. ::: ## RĂ©activitĂ© Nous aimons tous la rĂ©activitĂ© 💚. C'est l'une des fonctionnalitĂ©s les plus puissantes de VueJS. Cependant, il faut ĂȘtre prudent lors de l’utilisation de ThreeJS. La rĂ©activitĂ© de Vue est basĂ©e sur [Proxy](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Proxy). Cela permet Ă  Vue 3 de suivre automatiquement les modifications apportĂ©es aux objets de donnĂ©es et de mettre Ă  jour les Ă©lĂ©ments DOM correspondants chaque fois que les donnĂ©es changent. Puisque nous rendons une scĂšne et la mettons Ă  jour Ă  chaque image (60 FPS), cela signifie que nous mettons Ă  jour la scĂšne 60 fois par seconde. Si l'objet Ă  mettre Ă  jour est rĂ©actif, Vue tentera de mettre Ă  jour cet objet autant de fois. Ce n'est pas une bonne idĂ©e 😅 et cela nuira aux performances. Voici un test de performances de la diffĂ©rence entre l'utilisation d'un objet Proxy et d'un objet plat.
Proxy vs Plain
Fig.1 - Exécutions par seconde Objet plat vs proxy.
Source: [Proxy vs Plain Object](https://www.measurethat.net/Benchmarks/Show/12503/0/object-vs-proxy-vs-proxy-setter) Si vous ĂȘtes obligĂ© d'utiliser la rĂ©activitĂ©, utilisez [shallowRef](https://vuejs.org/api/reactivity-advanced.html#shallowref) Contrairement Ă  `ref()`, la valeur interne d'une shallowRef est stockĂ©e et exposĂ©e telle quelle, et aucune rĂ©activitĂ© profonde n'est effectuĂ©e. Seul l'accĂšs Ă  `.value` est rĂ©actif. Source [VueJS Docs](https://vuejs.org/api/reactivity-advanced.html#shallowref) ### Exemple ❌ Incorrect ```vue ``` ✅ Correct ```vue ```