vue3.0 の新機能は次のとおりです: 1. vue2.x ブロックよりもパフォーマンスが 1.2 ~ 2 倍優れています; 2. ツリーシェイキングのサポート; 3. コンポジション API の導入; 4. カスタム レンダリング API の公開; 5 、3 つの新しいコンポーネント (フラグメント、テレポート、サスペンス) などが追加されます。
このチュートリアルの動作環境: Windows7 システム、vue3.0 バージョン、DELL G3 コンピューター。
vue3 によってもたらされた 6 つの新機能
- パフォーマンス: vue2.x ブロックより 1.2 ~ 2 倍優れています
- ツリーシェイキングのサポート: サポートオンデマンド コンパイル、小さいサイズ
- Composition API: React Hooks に似た組み合わせ API
- Custom Renderer API: 公開されたカスタム レンダリング API
- Fragment、Teleport (Protal)、サスペンス: 3 つの新しいコンポーネント
- TypeScript サポートの向上: TS
パフォーマンス
Vue3.0 のサポートの向上パフォーマンスの面では、 Vue2.x よりも 1.2 ~ 2 倍高速です。
三振サポート
Vue3.x コア APIすべてツリーシェーキングをサポートしています。これらの API は、インスタンス化中に直接挿入されるのではなく、パッケージを通じて導入されます。使用される関数または機能のみがパッケージ化されます (オンデマンド パッケージ化)。これは、より多くの機能とより小さなサイズを意味します。
Composition API
Vue2.x では、通常、ロジック コードを再利用するためにミックスインを使用します。便利ですが、いくつかの問題もあります。コードが明確ではないため、メソッドの属性が競合する可能性があります。そのため、Vue3.x では、純粋な関数を使用してコードを分割して再利用する、Composition API (合成 API) が導入されました。 React Hooks と同様の概念。
- #ロジックの再利用とコード構成の改善
- 型推論の改善
##フラグメント、テレポート、サスペンス
3新しいコンポーネントが追加されます。
Fragment
Vue2.x を書く場合、コンポーネントはルートノードでなければならないため、ラッピングのために意味のないノードが追加されることがよくあります。この問題を解決するために Fragment コンポーネントが使用されます (これは React の Fragment コンポーネントと同じです)。
Teleport
Teleport は実際には React のポータルです。 Portal は、親コンポーネントの外側に存在する DOM ノードに子ノードをレンダリングするための優れたソリューションを提供します。
ポータルの一般的な使用例は、親コンポーネントにオーバーフロー (非表示または Z-index スタイル) があるが、子コンポーネントがそのコンテナから視覚的に「飛び出す」必要がある場合です。たとえば、ダイアログ ボックス、フローティング カード、プロンプト ボックスなどです。
サスペンス
繰り返しますが、これは React のサスペンスと同じです。
Suspense を使用すると、コンポーネントはレンダリング前に「待機」し、待機中にフォールバック コンテンツを表示できます。
TypeScript サポートの強化
Vue3.x は TypeScript で書き直されており、開発者は Vue3.x を使用するときに TS がコーディングにもたらす利便性を十分に体験できます。
カスタム レンダラー API
この API は、仮想 DOM のレンダリング ルールを定義します。つまり、カスタム API を使用すると、クロスプラットフォームの目的を達成できます。
最後に: Vue3.0 はどのように高速化されるのでしょうか?
- diff アルゴリズムの最適化
Vue2 の仮想 dom を完全に比較します- Vue3 は静的タグを追加します
-
- hoistStatic 静的プロモーション
Vue2 では、要素が更新に参加するかどうかに関係なく、要素は毎回再作成され、その後レンダリング時に-
更新に参加しない要素の Vue3 は静的に昇格され、一度だけ作成され、レンダリング中に直接再利用できます-
- cacheHandlers イベント リスナー キャッシュ
デフォルトでは、onClick は動的バインディングとみなされ、その変更は毎回追跡されます。ただし、同じ関数であるため、変更の追跡はありません。キャッシュして直接再利用できます。 -
- ssr レンダリング
大量の静的コンテンツがある場合、コンテンツは純粋な文字列としてバッファーにプッシュされます。動的コンテンツがある場合でもバインディングはテンプレート補間によって埋め込まれ、仮想 dom を介してレンダリングするよりもはるかに高速になります。- 静的コンテンツが特定のレベルに達すると、クライアントで _createStaticVNode メソッドが使用されます。 . 静的ノードを生成します。これらの静的ノードは直接 innerHtml となるため、オブジェクトを作成し、そのオブジェクトに基づいてレンダリングする必要はありません。
-
プログラミング関連の知識について詳しくは、
プログラミング ビデオをご覧ください。 !
以上がvue3.0の新機能は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。