En quoi Solid diffère de React
Le JSX de Solid applique les attributs directement au DOM : les attributs SVG comme stroke-width et class restent donc exactement tels qu’ils figurent dans le fichier. Inutile de les renommer en camelCase ou en className comme avec React.
Dans Solid, les props sont des getters réactifs, et les déstructurer casse la réactivité. Lorsque vous activez la prop size, le convertisseur utilise splitProps pour séparer size des autres props et transmet le reste au <svg>, de sorte que toutes les valeurs restent réactives.
Types TypeScript générés
Les props sont typées JSX.SvgSVGAttributes<SVGSVGElement>, importé de solid-js, qui couvre tous les attributs SVG et gestionnaires d’événements. Avec l’option size, le type est étendu avec { size?: number | string }.
Utiliser le composant dans SolidStart
Pour commencer :
- Enregistrez le résultat sous IconName.tsx dans votre dossier src/components.
- Importez-le et affichez <IconName size={18} class="icon" />.
- Utilisez currentColor pour hériter de la couleur du texte environnant.
- Les refs passent par la prop ref habituelle ; forwardRef n’est pas nécessaire avec Solid.