Dave Rupert beschäftigt sich mit einigen seiner bevorzugten Vue-Funktionen und einem bestimmten Problem, das er mit React hat.
Mir ist eines klar geworden: Eine Sache, die ich an React nicht besonders mag, ist, in eine Datei zu springen, oben nach dem Zustand zu suchen, zum Ende zu springen, um die Render-Funktion zu finden, und dann den Methodenaufrufen bis zu einer Reihe anderer Unter-Rendering-Funktionen zu folgen, nur um festzustellen, dass die gesuchte Komponente in einem anderen Schloss ist. Diese kognitive Belastung ist für mich anstrengend.
Ich habe kürzlich in unserem Newsletter über genau dieses Problem geschrieben, wo ich argumentierte, dass es schwierig ist, sich in einer React-Komponente zurechtzufinden. Ich habe das Gefühl, ich muss mehr Energie als nötig aufwenden, um herauszufinden, wie eine Komponente funktioniert, weil React mich ermutigt, Code auf eine bestimmte Weise zu schreiben.
Auf der anderen Seite sagt Dave, dass Vue seinem mentalen Modell beim Erstellen von Komponenten entspricht.
<template>
// Start with a foundation of good HTML markup
</template>
<script>
// Add interaction with JavaScript
</script>
<style>
// Add styling as necessary.
</style>
Und das stimmt sicherlich auch mit der Art und Weise überein, wie ich über Dinge denke.
Ich stimme vollkommen zu. React neigt dazu, die Dinge zu verkomplizieren, und es gibt eine steilere Lernkurve. Ich habe die Einfachheit von Vue schon immer genossen.
Das ist eine Vereinfachung und halbherzig, aber die konventionelle Code-Reihenfolge ist Teil dessen, warum sich Vue für mich designfreundlicher anfühlt. Die Code-First-Reihenfolge von React ergibt Sinn, wenn man denkt, dass das Wesentliche einer Komponente Zustand und Verhalten sind und das Markup nur ein Mittel ist, um das in die Welt zu bringen; es ist eine ingenieurwissenschaftliche Art, das Web zu bauen. Vue ergibt Sinn, wenn man denkt, dass die Komponente eine Schicht semantischen Markups ist, an die dann Zustand und Verhalten angehängt sind.
Das Aufschreiben lässt mich wollen, den Stilteil als zweites zu platzieren.