Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon React 19は、以前のバージョンとは異なるカスタム要素をどのようにサポートしますか


React 19は、以前のバージョンとは異なるカスタム要素をどのようにサポートしますか


React 19は、主にレンダリング中に小道具がどのように管理されるかに焦点を当てた、以前のバージョンと比較して、カスタム要素をサポートするための重要な機能強化を導入します。主な違いは次のとおりです。

##強化された小道具処理

1。属性とプロパティの分離:React 19では、カスタム要素インスタンスのプロパティに対応するプロップは、クライアント側のレンダリング中にプロパティとして割り当てられます。小道具が原始的なタイプ(「string」、「number」、または `true`など)の場合、属性としてレンダリングされます。非プライティブタイプ(「オブジェクト」、「シンボル」、または「関数」など)はレンダリングから除外されます。このアプローチにより、カスタム要素とのより直感的な相互作用が可能になり、それらが通常機能するように設計されている方法と整合します[3] [4]。

2。サーバー側のレンダリング(SSR)改善:SSR中に、同じロジックが適用されます:プリミティブプロップは属性としてレンダリングされ、非プリミティブタイプは省略されます。これにより、サーバーレンダリングされた出力がクライアントが期待するものと一致し、水分補給中の潜在的な不一致を減らすことが保証されます[4] [5]。

3.スコープされたカスタム要素レジストリ:React 19はスコープされたカスタム要素レジストリをサポートし、開発者がマイクロフロントエンドアーキテクチャでカスタム要素をより効果的に管理できるようにします。この機能は、複数のアプリケーションが同じカスタム要素の異なるバージョンに依存し、モジュール性と互換性を高める場合、バージョンの競合を防ぐのに役立ちます[2]。

4。パフォーマンスメトリックの改善:React 19は、どこでもカスタム要素で100%スコアを達成しました。これは、以前のバージョンよりも大幅に改善されています。これは、Webコンポーネントとのパフォーマンスと互換性が向上し、Reactのカスタム要素の処理に関する過去の批判に対処することを示しています[5]。

React 19のこれらの拡張機能は、カスタム要素のReactアプリケーションへの統合を合理化するだけでなく、全体的なパフォーマンスと開発者エクスペリエンスを改善し、ReactコンテキストでWebコンポーネントの操作を容易にします。

引用:
[1] https://github.com/facebook/react/issues/11347
[2] https://github.com/facebook/react/issues/28938
[3] https://www.angularminds.com/blog/react-19-beta-features
[4] https://react.dev/blog/2024/04/25/react-19
[5] https://piccalil.li/blog/upcone-custom-element-support-in-rect/
[6] https://www.bacancytechnology.com/blog/whats-new-in-rect-19
[7] https://eluminoustechnologies.com/blog/react-19/
[8] https://www.geeksforgeeks.org/react-19-new-features-and-updates/