react-toolkit icon indicating copy to clipboard operation
react-toolkit copied to clipboard

HOC dans le Core

Open youf-olivier opened this issue 5 years ago • 4 comments

withClassModifier ajoute le modifier dans le className sans retirer celui ci.

Une fois dans le composant HTML final on se retrouve avec un attribut inutile et une console polluée.

youf-olivier avatar Nov 04 '20 13:11 youf-olivier

Actuellement on a (de manière un peu simplifiée) : Il faut que le composant ait le classModifier pour que le HOC puisse l'utiliser.

type MyComponentProps = {} & WithClassModifierOptions;
const MyComponent = (prop) => {
  return <></>;
}

const Enhanced = withClassModifier<MyComponentProps>()(MyComponent);

Alors que c'est Enhanced qui devrait avoir WithClassModifierOptions et MyComponentProps devrait uniquement avoir className.

xballoy avatar Nov 04 '20 13:11 xballoy

Coucou les gars,

Qu'es ce que vous gène dans les HOC autre que la console qui affiche les HOC ? (il faudrait regarder si ce n'est pas juste masquable l'existence des HOC, je crois que oui)

Perso dans ce commit (qui est top pour les tests), il y a 3 fois le même code copier/coller pour ne pas utiliser le HOC (en refacto), cela me gène. https://github.com/AxaGuilDEv/react-toolkit/commit/fc464bf3c4ebf2bbe1b2c6353cc1c887101989bd https://sonarcloud.io/project/activity?custom_metrics=duplicated_lines_density&graph=custom&id=AxaGuilDEv_react-toolkit

Question plus de fond, es ce que la notion de modifier devrait faire partie du toolkit ? Je regrette un peu d'avoir fait ce couplage.

@xballoy +1 pour ta remarque.

guillaume-chervet avatar Nov 04 '20 15:11 guillaume-chervet

Le hoc Devrait faire un MapProps et non un withProps.

Je ne veux pas supprimer mais corriger les Hoc.

Des fois on a meme des Compose avec une seule fonction qui trainent

youf-olivier avatar Nov 04 '20 15:11 youf-olivier

Et n'oubliez pas. Vaut mieux une répétition qu'une mauvaise abstraction. Sortir un truc pour une ligne je trouve ça un poil too much. Mais je ne vais pas les virer, n'ayez crainte.

youf-olivier avatar Nov 04 '20 16:11 youf-olivier