Le fait que nous puissions désormais créer un "bouton" personnalisé directement dans le navigateur, un bouton qui n'a pas le bagage historique du , ni la rigidité déconcertante du touche-à-tout < input>, est quelque chose qui devrait être célébré. Dans certains cas, nous n'avons même plus besoin d'inclure des éléments de formulaire natifs dans notre shadow DOM, grâce à l'API ElementInternals. ElementInternals gère à la fois ARIA et l'association de formulaires, au niveau de la plateforme. Cela signifie que les formulaires natifs peuvent traiter les éléments personnalisés de la même manière que n'importe quel autre contrôle de formulaire, avec la validation des champs, l'association d'étiquettes et la soumission de valeurs incluses. Ce n'est en aucun cas une solution parfaite pour l'instant, mais c'est mieux que tout ce que nous avons eu avant, et beaucoup de gens travaillent très dur pour la rendre meilleure pour tout le monde.
Les composants basés sur le framework ne peuvent littéralement pas faire cela. S'ils prétendent qu'ils le peuvent, cela signifie soit qu'ils créent des éléments personnalisés enveloppés dans du JS supplémentaire, soit qu'ils font BEAUCOUP de gros travaux pour reproduire ce qui est déjà disponible dans le navigateur.
J'ai toujours eu des problèmes avec les frameworks front-end, c'est pourquoi j'ai choisi de ne pas les utiliser. Je trouve qu'il est dangereusement facile de creuser un trou trop grand pour en sortir, surtout lorsqu'ils apportent leurs propres abstractions qui obscurcissent ce qui est réellement rendu sur la page. Il y a trop de « magie » qui se produit, et je n'apprécie pas l'ambiance « fais-moi confiance, mon frère » que je reçois du fonctionnement de certains frameworks (hooks, JSX, etc.).
Pour conclure, je peux compter le nombre de fois où j'ai dû travailler professionnellement avec React, Vue et Angular combinés d'une part. Je suppose que celui que j'ai le plus utilisé était Vue, et même alors, ce n'est que quelques mois avant que je commence à créer des éléments personnalisés en 2020.
Je n'ai vu aucune raison impérieuse d'y retourner.
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!