Escribir marcas con JSX

ReactReactBeginner
Practicar Ahora

This tutorial is from open-source community. Access the source code

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

Bienvenido a la documentación de React. Esta práctica te dará una introducción a la escritura de marcas con JSX.

Este es un Guided Lab, que proporciona instrucciones paso a paso para ayudarte a aprender y practicar. Sigue las instrucciones cuidadosamente para completar cada paso y obtener experiencia práctica. Los datos históricos muestran que este es un laboratorio de nivel principiante con una tasa de finalización del 83.33%. Ha recibido una tasa de reseñas positivas del 100% por parte de los estudiantes.

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL react(("React")) -.-> react/FundamentalsGroup(["Fundamentals"]) react(("React")) -.-> react/StylingGroup(["Styling"]) react/FundamentalsGroup -.-> react/jsx("JSX") react/FundamentalsGroup -.-> react/components_props("Components and Props") react/StylingGroup -.-> react/css_in_react("CSS in React") subgraph Lab Skills react/jsx -.-> lab-100376{{"Escribir marcas con JSX"}} react/components_props -.-> lab-100376{{"Escribir marcas con JSX"}} react/css_in_react -.-> lab-100376{{"Escribir marcas con JSX"}} end

Escribir marcas con JSX

El proyecto de React ya se ha proporcionado en la máquina virtual. En general, solo es necesario agregar código a App.js.

Utilice el siguiente comando para instalar las dependencias:

npm i

La sintaxis de marcas que se vio anteriormente se llama JSX. Es opcional, pero la mayoría de los proyectos de React la utilizan por su conveniencia.

JSX es más estricta que HTML. Debes cerrar las etiquetas como <br />. Tu componente también no puede devolver múltiples etiquetas JSX. Debes envolverlas en un padre compartido, como un <h1>...</h1> o un envoltorio vacío <>...</>:

// App.js
export default function Profile() {
  return (
    <>
      <h1>Hedy Lamarr</h1>
    </>
  );
}

Si tienes mucha HTML que convertir a JSX, puedes usar un conversor en línea.

Para ejecutar el proyecto, use el siguiente comando. Luego, puede actualizar la pestaña Web 8080 para previsualizar la página web.

npm start

Mostrando datos

JSX te permite poner marcas dentro de JavaScript. Las llaves curvas te permiten "escapar hacia atrás" a JavaScript para que puedas incrustar alguna variable de tu código y mostrarla al usuario. Por ejemplo, esto mostrará user.name:

// App.js
const user = {
  name: "Hedy Lamarr"
};
export default function Profile() {
  return (
    <>
      <h1>{user.name}</h1>
    </>
  );
}

También puedes "escapar hacia JavaScript" desde los atributos de JSX, pero debes usar llaves curvas en lugar de comillas. Por ejemplo, className="avatar" pasa la cadena "avatar" como la clase CSS, pero src={user.imageUrl} lee el valor de la variable JavaScript user.imageUrl, y luego pasa ese valor como el atributo src:

// App.js
const user = {
  name: "Hedy Lamarr",
  imageUrl: "https://i.imgur.com/yXOvdOSs.jpg"
};
export default function Profile() {
  return (
    <>
      <h1>{user.name}</h1>
      <img className="avatar" src={user.imageUrl} />
    </>
  );
}

Agregando estilos

En React, se especifica una clase CSS con className. Funciona de la misma manera que el atributo HTML class:

<img className="avatar" />

Luego, se escriben las reglas CSS para ello en un archivo CSS separado:

/* App.css */
.avatar {
  border-radius: 50%;
}

React no prescriba cómo agregar archivos CSS. En el caso más simple, agregará una etiqueta <link> a su HTML. Si utiliza una herramienta de compilación o un framework, consulte su documentación para aprender cómo agregar un archivo CSS a su proyecto.

// App.js
import "./App.css";

También se pueden poner expresiones más complejas dentro de las llaves curvas de JSX, por ejemplo, concatenación de cadenas:

// App.js
const user = {
  name: "Hedy Lamarr",
  imageUrl: "https://i.imgur.com/yXOvdOSs.jpg",
  imageSize: 90
};

export default function Profile() {
  return (
    <>
      <h1>{user.name}</h1>
      <img
        className="avatar"
        src={user.imageUrl}
        alt={"Photo of " + user.name}
        style={{
          width: user.imageSize,
          height: user.imageSize
        }}
      />
    </>
  );
}

En el ejemplo anterior, style={{}} no es una sintaxis especial, sino un objeto {} regular dentro de las llaves curvas style={ } de JSX. Puede usar el atributo style cuando sus estilos dependen de variables de JavaScript.

Resumen

¡Felicitaciones! Has completado la práctica de Escribir marcas con JSX. Puedes practicar más prácticas en LabEx para mejorar tus habilidades.

OSZAR »