2017-08-15 1 views
1

ich ESLint bin mit meiner Reaktion App Fusseln und für eine Link Komponente mit einem className, bekomme ich die folgende Warnung:Reagieren - das Hinzufügen classname Komponente zu verknüpfen, ESLint Fehler

error Prop 'className' is forbidden on Components react/forbid-component-props

ich was das ist alles über und ich weiß, dass ich nur diese Regel ausschalten könnte, aber ich möchte lieber Dinge, die ‚richtige‘ Art und Weise tun ...

Dies ist meine Komponente -

<Link 
    className="edit_link" 
    to={`/user/${this.state.user.id}/edit`}> 
    Edit 
</Link> 

und alles funktioniert, wie es sollte ... aber gibt es eine Best Practice für diese Art von Situation? Für Komponenten, die ich erstelle, kann ich natürlich className s auf dem äußersten DOM-Knoten in der Komponente platzieren, aber wie sollte das für die Komponenten link Link s gehandhabt werden?

Antwort

1

Nach this link. Sie können diese Regel entweder deaktivieren oder die className auf DOM-Knoten platzieren.

+0

Danke - ich bekomme das, aber ich suche nach einem 'dritten' Weg - kann ich die Regel auf, aber ein 'className' auf einer Komponente, wo ich keine Kontrolle über die DOM-Knoten habe? – skwidbreth

+0

Es ist nur eine Warnung. Und wie gesagt, es verhindert nur das Übergeben von Requisiten, die eine Menge Komplexität (Klassenname, Stil) zu Komponenten hinzufügen. Sie müssen nicht alle Warnungen perfekt umgehen :). (Zumindest meiner Meinung nach) –

+0

Cool, danke. Ja, ich bin bei Ihnen, ich glaube nicht unbedingt, dass alle Warnungen eingehalten werden müssen ... aber ich war mit diesem Problem nicht vertraut und wollte sicher sein, dass es keine "Best Practice" gab, die ich übersehen hatte. – skwidbreth

Verwandte Themen