S12 React Web Interactiva - Ppaowz
S12 React Web Interactiva - Ppaowz
Aquí tienes un ejemplo de código para una aplicación web interactiva con React. Esta aplicación es
una lista de tareas interactiva (to-do list) que permite agregar, eliminar y marcar tareas como
completadas. Es un proyecto común para entender cómo se maneja el estado, eventos y renderizado
de componentes en React.
Para usar este código, necesitas un entorno React configurado. Puedes crearlo con `create-react-app`
de la siguiente forma:
```bash
npx create-react-app lista-tareas
cd lista-tareas
npm start
```
Luego, reemplaza el contenido de `App.js` con el siguiente código:
Código de una Aplicación Interactiva de Lista de Tareas
```javascript
import React, { useState } from 'react';
import './App.css';
function App() {
// Estado para las tareas y la entrada del usuario
const [tareas, setTareas] = useState([]);
const [nuevaTarea, setNuevaTarea] = useState('');
return (
<div className="app">
<h1>Lista de Tareas</h1>
<div className="input-container">
<input
type="text"
value={nuevaTarea}
onChange={manejarCambio}
placeholder="Escribe una nueva tarea"
/>
<button onClick={agregarTarea}>Agregar</button>
</div>
<ul className="task-list">
{tareas.map((tarea, indice) => (
<li key={indice} className={tarea.completada ? 'completed' : ''}>
<span onClick={() => alternarCompletada(indice)}>
{tarea.texto}
</span>
<button onClick={() => eliminarTarea(indice)}>Eliminar</button>
</li>
))}
</ul>
</div>
);
}
Para que la aplicación tenga un estilo básico, puedes agregar el siguiente código CSS en el archivo
`App.css`:
```css
.app {
text-align: center;
max-width: 600px;
margin: 0 auto;
font-family: Arial, sans-serif;
}
.input-container {
display: flex;
justify-content: center;
margin: 20px 0;
}
input {
padding: 10px;
width: 70%;
margin-right: 10px;
font-size: 16px;
}
button {
padding: 10px 15px;
font-size: 16px;
cursor: pointer;
}
.task-list {
list-style: none;
padding: 0;
}
.task-list li {
display: flex;
justify-content: space-between;
padding: 10px;
border-bottom: 1px solid #ddd;
align-items: center;
}
.task-list button {
background-color: #e74c3c;
color: white;
border: none;
padding: 5px 10px;
cursor: pointer;
}
.task-list button:hover {
background-color: #c0392b;
}
```
Descripción del Código
- Estados: Se usa `useState` para manejar las tareas (`tareas`) y la entrada del usuario
(`nuevaTarea`).
- Funciones:
- `agregarTarea()`: Añade una nueva tarea.
- `alternarCompletada()`: Marca o desmarca una tarea como completada.
- `eliminarTarea()`: Elimina una tarea de la lista.
- Renderizado: Cada tarea se representa como un `<li>` en la lista y muestra el texto, un botón de
eliminar y un evento de clic para marcarla como completada.
Ejecución
Con este código, puedes probar la aplicación escribiendo tareas, agregándolas a la lista,
eliminándolas, y marcándolas como completadas. Es una aplicación interactiva sencilla, perfecta
para aprender los fundamentos de React y cómo se manejan estados y eventos.
Para comenzar, aquí tienes un ejemplo de un componente React simple que muestra un mensaje y
cambia al hacer clic:
```javascript
import React, { useState } from 'react';
function App() {
const [mensaje, setMensaje] = useState('¡Hola desde React!');
return (
<div>
<h1>{mensaje}</h1>
<button onClick={cambiarMensaje}>Haz clic aquí</button>
</div>
);
}
Este componente simple muestra cómo React permite crear interfaces interactivas: cambia el
mensaje cuando se hace clic en el botón.