JSX (JavaScript)

JSX ( JavaScript Syntax Extension i czasami określany jako JavaScript XML ) to rozszerzenie składni języka JavaScript , które zapewnia sposób strukturyzowania renderowania komponentów przy użyciu składni znanej wielu programistom powszechnie używanej w React . Jest podobny w wyglądzie do HTML .

React są zwykle pisane przy użyciu JSX, chociaż nie muszą, ponieważ komponenty mogą być również napisane w czystym JavaScript. JSX jest tworzony przez Meta (dawniej Facebook ). Jest podobny do innej składni rozszerzenia stworzonej przez Meta dla PHP o nazwie XHP .

Narzut

Przykład kodu JSX:

     
    
     
       
       
       
     
    
 const  Aplikacja  =  ()  =>  {  return  (  <  div  >  <  p  >  Nagłówek  </  p  >  <  p  >  Treść  </  p  >  <  p  >  Stopka  </  p  >  </  div  >  );  } 

Elementy zagnieżdżone

Wiele elementów na tym samym poziomie musi być owiniętych w pojedynczy element React, taki jak pokazany powyżej element <div> , fragment wyznaczony przez <Fragment> lub w jego skróconej formie <> , albo zwrócony jako tablica.

Atrybuty

JSX zapewnia szereg atrybutów elementów zaprojektowanych w celu odzwierciedlenia atrybutów dostarczanych przez HTML. Atrybuty niestandardowe mogą być również przekazywane do komponentu. Wszystkie atrybuty zostaną odebrane przez komponent jako rekwizyty.

wyrażenia JavaScript

Wyrażenia JavaScript (ale nie instrukcje ) mogą być używane wewnątrz JSX z nawiasami klamrowymi {} :

   <  h1  >  {10+1}  </  h1  > 

Powyższy przykład wyrenderuje:

   <  h1  >  11  </  h1  > 

Wyrażenia warunkowe

Instrukcje if-else nie mogą być używane w JSX, ale zamiast tego można używać wyrażeń warunkowych. Poniższy przykład wyrenderuje { i === 1 ? „true” : „false” } jako ciąg „true”, ponieważ i jest równe 1.

     
      

    
     
               
     
   
 const  App  =  ()  =>  {  const  i  =  1  ;  return  (  <  div  >  <  h1  >  {  i  ===  1  ?  'true'  :  'false'  }  </  h1  >  </  div  >  );  } 

Powyższe spowoduje:


  
 <  div  >  <  h1  >  true  </  h1  >  </  div  > 

Funkcje i JSX mogą być używane w trybie warunkowym:

     
        

    
     
         
           
           
             const  App  =  ()  =>  {  const  sekcje  =  [  1  ,  2  ,  3  ];  return  (  <  div  >  {  sections  .  map  ((  n  ,  i  )  =>  (  /* „klucz” jest używany przez reakcję do śledzenia elementów listy i ich zmian */  /* Każdy „klucz” musi być unikalny */  <  klucz  div  =  {   
                   0  
           
       
     
   
 "sekcja-"  +  n  }  >  Sekcja  {  n  }  {  i  ===  &&  <  rozpiętość  >  (  pierwsza  )  </  rozpiętość  >  }  </  div  >  ))}  </  div  >  );  } 

Powyższe spowoduje:


  
  
  
 <  div  >  <  div  >  Sekcja 1  <  span  >  (pierwsza)  </  span  ></  div  >  <  div  >  Sekcja 2  </  div  >  <  div  >  Sekcja 3  </  div  >  </  div  > 

Kod napisany w JSX wymaga konwersji za pomocą narzędzia takiego jak Babel , zanim będzie zrozumiały dla przeglądarek internetowych. Przetwarzanie to jest zwykle wykonywane podczas tworzenia oprogramowania przed wdrożeniem aplikacji .

Zobacz też

Linki zewnętrzne