Existe-t-il un moyen d'utiliser ESLint pour forcer la saisie des objets déstructurants en ligne, plutôt que d'utiliser une définition de type distincte ?
P粉445714413
P粉445714413 2024-02-26 20:05:49
0
1
372

Je veux nous forcer à toujours taper les objets déstructurants en ligne au lieu de créer une définition de type distincte. Par exemple, pour les composants React, je souhaite forcer tout notre code à utiliser ce modèle :

const SomeComponent = ({ foo, bar }: { foo: string, bar: boolean }) => {
  return ...
}

au lieu de :

type Props = {
    foo: string, 
    bar: boolean,
};

const SomeComponent = ({ foo, bar }: Props} => {
  return ...
}

J'ai vérifié les règles ESLint et je n'ai rien trouvé de similaire, quelqu'un a-t-il des suggestions ?

P粉445714413
P粉445714413

répondre à tous(1)
P粉530519234

Pour autant que je sache, il n'existe actuellement aucune règle de charpie qui applique ce mode.

Vous pouvez utiliser no-restricted-syntax pour appliquer les règles relatives aux peluches (Exemple), mais comme le suggèrent les commentaires sur votre message, ce n'est pas une bonne idée.

Il n'est pas possible de créer un sélecteur qui correspond uniquement aux « composants de fonction réactive » car les composants de fonction réactive ne sont que des fonctions. Ainsi (comme le montre mon exemple), cette approche simple créera beaucoup de bruit et de faux positifs dans votre base de code - ce qui est mauvais car cela crée du bruit pour votre équipe.

Vous pouvez créer des règles personnalisées via , mais vous ne pourrez jamais vraiment rendre ce nombre nul.


BTW - Ce style de codage n'est pas bon car il va à l'encontre des conventions de l'industrie. Il est très courant et populaire de définir un type distinct afin qu'il puisse être importé dans un consommateur et combiné avec d'autres types - par exemple lors de la création de composants d'ordre supérieur ou wrapper.

En définissant toujours le type en ligne, vous compliquez la tâche car vous n'avez pas d'autre choix que d'obtenir le type d'accessoire via Params<typeof MyComponent>[0] .

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!