Alternatives à Swiper pour React, selon ce que vous fuyez réellement

Personne ne quitte Swiper parce qu'il est mauvais — c'est le slider le plus complet qui existe. Les gens le quittent à cause du poids (≈40 kB avant les modules), parce qu'ils héritent de son DOM et de son CSS, ou parce que leur « slider » n'a jamais vraiment été des diapositives. Chaque plainte a une meilleure réponse différente.

SwiperEmblakeen-sliderreact-horizontal-scrolling-menu
Bundle (cœur, min+gzip)≈40 kB≈8 kB≈7 kB≈5,7 kB
ModèleDiapositives, tout-inclusDiapositives, headlessDiapositives, moteur minimalÉléments dans une rangée à défilement natif
Effets et modulesLe plus riche disponiblePlugins / fait mainQuelques-uns intégrésAucun — des recettes à la place
Possède la couche de gestesOui (transformations)Oui (transformations)Oui (transformations)Non — le navigateur défile
Visibilité par élémentÉvénements d'index de diapositiveÉvénements d'index de diapositiveÉvénements d'index de diapositiveIntégrée (useIsVisible)
Meilleur remplacement quandVous stylez tout de toute façonSlider minimal, sans dépendance à ReactLes « diapositives » sont des éléments cliquables

Les tailles sont des cœurs approximatifs — celui de Swiper croît avec les modules importés, ce qui signifie aussi qu'un build Swiper allégé est plus petit que sa réputation.

Fuir les kilo-octets : Embla ou keen-slider

Si le produit est un vrai carrousel — alignement, une page de diapositives à la fois — les moteurs légers sont presque des remplacements directs :

Les deux conservent le modèle de diapositives basé sur les transformations, donc des effets comme le fondu ou le coverflow restent à faire soi-même — si vous en dépendez, un build Swiper allégé est honnêtement la meilleure réponse plutôt que de les réimplémenter.

Fuir le modèle de diapositives : le cas en forme de menu

L'autre sortie concerne les projets où la sémantique de diapositives de Swiper n'a jamais vraiment été essentielle : rangées de catégories, murs de logos, barres d'onglets, barres de puces, rails de produits. Les indices sont une configuration comme slidesPerView: 'auto' combinée à freeMode: true — cette paire, c'est Swiper qu'on demande d'imiter le défilement natif.

react-horizontal-scrolling-menu (≈5,7 kB) est ce défilement natif, plus les parties que le navigateur ne fournit pas : visibilité par élément, défilement vers un élément, des flèches conscientes des bords et un glisser qui ne casse pas les clics. Aucun effet, aucun alignement, aucune émulation de gestes — voir les pages rangée Netflix, onglets et barre de puces, ou le tableau complet.

Un avertissement équitable dans les deux sens

Migrer hors de Swiper pour économiser du poids, puis reconstruire à la main la lecture automatique, la pagination, les annonces a11y et les effets, c'est ainsi qu'un problème de 40 kB devient un problème d'un mois-personne. Passez à un moteur plus léger quand votre usage est réellement un sous-ensemble — et à un menu défilant seulement quand la sémantique de diapositives était factice depuis le début. Si vous utilisez la profondeur de Swiper, gardez Swiper.