2017-11-18 1 views
2

Ich habe seit Wochen React auf einem Projekt ausprobiert. Und ich erinnerte mich gerade daran, dass ich className anstelle von class im regulären DOM und SVG verwenden sollte, weil class ein reserviertes Schlüsselwort in JS ist.Muss React DOM className verwenden? Warum sehe ich keine Warnungen?

Allerdings verwenden alle meine Komponenten bisher class. Zum Beispiel:

export default class Header extends React.Component { 
    render() { 
     return (
      <div class="Header"> 
       <img class="Logo" src="./interface/images/ea-white.png"/> 
       <h1 class="Title">{this.props.title}</h1> 
      </div> 
     ); 
    } 
} 

Warum habe ich keinen Syntaxfehler? Muss React DOM className verwenden? Was könnte passieren, wenn ich es so halte?

Bearbeiten: Ja, die CSS-Dateien funktionierten normalerweise die ganze Zeit. Es gibt keine Warnung in meiner Konsole (was seltsam ist).

+0

Ja, Sie müssen 'className' verwenden. Nimmt Ihr CSS 'Klasse' für Ihr Styling auf? – Andrew

+0

@Andrew ja, alles funktioniert perfekt. Ich habe es nur bemerkt, weil ein Freund darauf hingewiesen hat ... – Jiayang

+0

Mögliches Duplikat von [Klasse vs Klassenname in React 16] (https://stackoverflow.com/questions/46989454/class-vs-classname-in-react-16) –

Antwort

2

Es arbeitet zur Zeit, aber reagieren wird eine Warnung in der Konsole werfen. Ich würde empfehlen, className zu verwenden, wenn man bedenkt, dass React dies tun möchte. Wenn Sie die Klasse weiterhin verwenden, kann es vorkommen, dass React dies nicht mehr unterstützt.

2

React gibt eine Warnung aus, wenn Sie eine unbekannte Eigenschaft wie class für ein Element verwenden.

Es weist auch auf die Quellzeilennummer, dank dieser pr https://github.com/facebook/react/pull/6398

+0

Wo kann ich die Warnung sehen? Nichts in der Konsole. Ich verwende Webpack zum kompilieren. Auch dort keine Warnungen. – Jiayang

Verwandte Themen