80 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			80 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | ||
|  | title: JSX | ||
|  | localeTitle: JSX | ||
|  | --- | ||
|  | # JSX
 | ||
|  | 
 | ||
|  | > JSX es la abreviatura de JavaScript XML.
 | ||
|  | 
 | ||
|  | JSX es una expresión que utiliza declaraciones HTML válidas dentro de JavaScript. Puedes asignar esta expresión a una variable y usarla en otra parte. Puede combinar otras expresiones de JavaScript válidas y JSX dentro de estas declaraciones HTML colocándolas entre llaves ( `{}` ). Babel además compila JSX en un objeto de tipo `React.createElement()` . | ||
|  | 
 | ||
|  | ### Expresiones de línea única y multilínea
 | ||
|  | 
 | ||
|  | La expresión de una sola línea es fácil de usar. | ||
|  | 
 | ||
|  | ```jsx | ||
|  | const one = <h1>Hello World!</h1>;  | ||
|  | ``` | ||
|  | 
 | ||
|  | Cuando necesite usar varias líneas en una sola expresión JSX, escriba el código dentro de un solo paréntesis. | ||
|  | 
 | ||
|  | ```jsx | ||
|  | const two = (  | ||
|  |   <ul>  | ||
|  |     <li>Once</li>  | ||
|  |     <li>Twice</li>  | ||
|  |   </ul>  | ||
|  |  );  | ||
|  | ``` | ||
|  | 
 | ||
|  | ### Usando solo etiquetas HTML
 | ||
|  | 
 | ||
|  | ```jsx | ||
|  | const greet = <h1>Hello World!</h1>;  | ||
|  | ``` | ||
|  | 
 | ||
|  | ### Combinando expresiones de JavaScript con etiquetas HTML
 | ||
|  | 
 | ||
|  | Podemos usar variables de JavaScript entre llaves. | ||
|  | 
 | ||
|  | ```jsx | ||
|  | const who = "Quincy Larson";  | ||
|  |  const greet = <h1>Hello {who}!</h1>;  | ||
|  | ``` | ||
|  | 
 | ||
|  | También podemos llamar a otras funciones de JavaScript entre llaves. | ||
|  | 
 | ||
|  | ```jsx | ||
|  | function who() {  | ||
|  |   return "World";  | ||
|  |  }  | ||
|  |  const greet = <h1>Hello {who()}!</h1>;  | ||
|  | ``` | ||
|  | 
 | ||
|  | ### Solo se permite una sola etiqueta principal
 | ||
|  | 
 | ||
|  | Una expresión JSX debe tener una sola etiqueta principal. Podemos agregar varias etiquetas anidadas solo en el elemento principal. | ||
|  | 
 | ||
|  | ```jsx | ||
|  | // This is valid.  | ||
|  |  const tags = (  | ||
|  |   <ul>  | ||
|  |     <li>Once</li>  | ||
|  |     <li>Twice</li>  | ||
|  |   </ul>  | ||
|  |  );  | ||
|  |   | ||
|  |  // This is not valid.  | ||
|  |  const tags = (  | ||
|  |   <h1>Hello World!</h1>  | ||
|  |   <h3>This is my special list:</h3>  | ||
|  |   <ul>  | ||
|  |     <li>Once</li>  | ||
|  |     <li>Twice</li>  | ||
|  |   </ul>  | ||
|  |  );  | ||
|  | ``` | ||
|  | 
 | ||
|  | ### Más información
 | ||
|  | 
 | ||
|  | *   [Introduciendo JSX](https://reactjs.org/docs/introducing-jsx.html) |