Herramientas de usuario

Herramientas del sitio


informatica:programacion:javascript:react

¡Esta es una revisión vieja del documento!


Tabla de Contenidos

React

React es una biblioteca Javascript de código abierto diseñada para crear interfaces de usuario con el objetivo de facilitar el desarrollo de aplicaciones en una sola página.

Resumen

  • La sintaxis JSX permite escribir código como si fuese HTML.

Sin JSX:

import { createElement } from 'react'
 
const Desplegable = (props) => {
    return createElement(
        "details", null,
        createElement("summary", null, props.titulo),
        createElement("p", null, props.contenido),
    )
}

Con JSX:

import { createElement } from 'react'
 
const Desplegable = (props) => {
  return (
    <details>
      <summary>{props.titulo}</summary>
      <p>{props.contenido}</p>
    </details>
  )
}
  • Las etiquetas siempre deben cerrarse (<etiqueta></etiqueta> o <etiqueta />)
  • El nombre de los componentes utilizan Pascal-case
  • Variables, constantes, funciones, atributos HTML… en camel-case
  • El atributo HTML class se escribe className porque class es palabra reservada en JavaScript.
  • El atributo HTML for se escribe htmlFor porque for es palabra reservada en JavaScript.

Crear un proyecto rápidamente con Vite:

npx create-vite

Para ver los cambios que hagamos en directo, conviene lanzar el servicio web con:

npm run dev

Siempre hay que asociar el componente raíz a un elemento del DOM. Esto lo podemos ver en el fichero src/main.jsx:

import { App } from './App.jsx'
 
ReactDOM.createRoot( 
  document.querySelector('#root')
).render(<App />)

Quiere decir que asociaremos el componente App al elemento de la web que tenga id="root" como podemos ver en el fichero index.html:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="src/style.css">
  </head>
  <body>
    <div id="root"></div>
(...)

Gestión de eventos

En React los eventos se asocian mediante propiedades similares a los atributos HTML.

export default function Product({author, title, stock}) {
 
  const handleClick = () => {
    alert(`Has tomado prestado el libro ${title}.`)
  }
 
  return (
    <button onClick={handleClick}>Tomar prestado</button>
  )
}

El valor del evento debe ser una función completa y no una llamada a la función (fíjate que no ponemos los paréntesis cuando indicamos la función en la propiedad onClick).

También podríamos haber metido la función directamente en lugar de definirla y luego usarla:

export default function Product({author, title, stock}) {
 
  return (
    <button onClick={() => alert(title)}>Tomar prestado</button>
  )
}
informatica/programacion/javascript/react.1711100561.txt.gz · Última modificación: por tempwin