Der Import funktioniert nicht, wenn der Name nicht mit Großbuchstaben beginnt

8

Nach dem Transpilieren funktioniert dieser Code nicht

%Vor%

aber das tut es

%Vor%

erzeugt im ersten Fall babel

%Vor%

und auf der Seite ist ein leeres <firstLow data-reactroot><firstLow/> Element gerendert.

Und im zweiten Fall

%Vor%

und es funktioniert. Meine Komponente wird gerendert.

Was ist los?

    
Piotr Perak 26.10.2016, 21:56
quelle

2 Antworten

8
  

Was ist los?

Dies ist eine Konvention in JSX / React. Kleinbuchstaben werden in Strings (Tags) umgewandelt, Großbuchstaben werden als Variablen (Komponenten) aufgelöst.

Aus den Dokumenten :

  

Vorbehalt:

     

Beginnen Sie immer Komponentennamen mit einem Großbuchstaben.

     

Beispiel: <div /> steht für ein DOM-Tag, aber <Welcome />   stellt eine Komponente dar und erfordert Welcome im Geltungsbereich.

    
Felix Kling 26.10.2016, 21:59
quelle
5

In React beginnen Component Namen mit Großbuchstaben. JSX-Tags in Kleinbuchstaben repräsentieren literale HTML-Tags. Dies ist Teil der React-Spezifikation .

Dies ist der Grund, warum <foo> in createElement('foo') übersetzt wird, während <Foo> in createElement(module.Foo) .

Sie sollten Ihre Komponenten mit Großbuchstaben benennen. Nicht viel anderes zu tun.

    
slezica 26.10.2016 22:00
quelle

Tags und Links