Menu iconMenu icon
JavaScript de Cero a Superhéroe

Capítulo 9: Frameworks Modernos de JavaScript

Ejercicios Prácticos para el Capítulo 9: Frameworks Modernos de JavaScript

Estos ejercicios están diseñados para reforzar tu comprensión de los frameworks de JavaScript discutidos en el Capítulo 9. Al completar estas tareas, obtendrás experiencia práctica en la aplicación de los conceptos fundamentales de React, Vue y Angular para construir componentes básicos y gestionar el estado de la aplicación de manera efectiva.

Ejercicio 1: Componente Contador en React

Objetivo: Crear un componente de React que implemente un contador simple. El componente debe mostrar un botón y un número. Cada clic en el botón debe incrementar el número.

Solución:

import React, { useState } from 'react';

function Counter() {
    const [count, setCount] = useState(0);

    const increment = () => {
        setCount(count + 1);
    };

    return (
        <div>
            <p>Count: {count}</p>
            <button onClick={increment}>Increment</button>
        </div>
    );
}

export default Counter;

Ejercicio 2: Lista de Tareas en Vue

Objetivo: Construir una aplicación simple de Vue que permita a los usuarios agregar elementos a una lista de tareas y mostrarlos.

Solución:

<template>
  <div>
    <input v-model="newTodo" @keyup.enter="addTodo" placeholder="Add a todo">
    <ul>
      <li v-for="todo in todos" :key="todo.id">
        {{ todo.text }}
      </li>
    </ul>
  </div>
</template>

<script>
export default {
  data() {
    return {
      newTodo: '',
      todos: [],
      nextTodoId: 1
    };
  },
  methods: {
    addTodo() {
      this.todos.push({ id: this.nextTodoId++, text: this.newTodo });
      this.newTodo = '';
    }
  }
}
</script>

<style>
/* Add style as necessary */
</style>

Ejercicio 3: Enlace de Datos en Angular

Objetivo: Crear un componente de Angular que vincule un campo de entrada a un elemento de párrafo, actualizando el contenido del párrafo en tiempo real a medida que escribes en el campo de entrada.

Solución:

import { Component } from '@angular/core';

@Component({
  selector: 'app-data-binding',
  template: `
    <input [(ngModel)]="name" placeholder="Enter your name">
    <p>Hello, {{ name }}!</p>
  `,
  styleUrls: ['./data-binding.component.css']
})
export class DataBindingComponent {
  name: string = '';
}

Nota: Asegúrate de haber importado FormsModule en tu módulo de Angular para usar ngModel.

Estos ejercicios sirven como un punto de partida para entender cómo trabajar con React, Vue y Angular. Se enfocan en características fundamentales como la gestión del estado en React, el renderizado dinámico de listas en Vue y el enlace de datos bidireccional en Angular.

A medida que te sientas cómodo con estos frameworks, intenta extender estos ejercicios con características adicionales como editar y eliminar tareas o implementar una lógica de estado más compleja en la aplicación de contador. Estas habilidades son esenciales para cualquier desarrollador web moderno y proporcionan una base sólida para construir aplicaciones complejas.

Ejercicios Prácticos para el Capítulo 9: Frameworks Modernos de JavaScript

Estos ejercicios están diseñados para reforzar tu comprensión de los frameworks de JavaScript discutidos en el Capítulo 9. Al completar estas tareas, obtendrás experiencia práctica en la aplicación de los conceptos fundamentales de React, Vue y Angular para construir componentes básicos y gestionar el estado de la aplicación de manera efectiva.

Ejercicio 1: Componente Contador en React

Objetivo: Crear un componente de React que implemente un contador simple. El componente debe mostrar un botón y un número. Cada clic en el botón debe incrementar el número.

Solución:

import React, { useState } from 'react';

function Counter() {
    const [count, setCount] = useState(0);

    const increment = () => {
        setCount(count + 1);
    };

    return (
        <div>
            <p>Count: {count}</p>
            <button onClick={increment}>Increment</button>
        </div>
    );
}

export default Counter;

Ejercicio 2: Lista de Tareas en Vue

Objetivo: Construir una aplicación simple de Vue que permita a los usuarios agregar elementos a una lista de tareas y mostrarlos.

Solución:

<template>
  <div>
    <input v-model="newTodo" @keyup.enter="addTodo" placeholder="Add a todo">
    <ul>
      <li v-for="todo in todos" :key="todo.id">
        {{ todo.text }}
      </li>
    </ul>
  </div>
</template>

<script>
export default {
  data() {
    return {
      newTodo: '',
      todos: [],
      nextTodoId: 1
    };
  },
  methods: {
    addTodo() {
      this.todos.push({ id: this.nextTodoId++, text: this.newTodo });
      this.newTodo = '';
    }
  }
}
</script>

<style>
/* Add style as necessary */
</style>

Ejercicio 3: Enlace de Datos en Angular

Objetivo: Crear un componente de Angular que vincule un campo de entrada a un elemento de párrafo, actualizando el contenido del párrafo en tiempo real a medida que escribes en el campo de entrada.

Solución:

import { Component } from '@angular/core';

@Component({
  selector: 'app-data-binding',
  template: `
    <input [(ngModel)]="name" placeholder="Enter your name">
    <p>Hello, {{ name }}!</p>
  `,
  styleUrls: ['./data-binding.component.css']
})
export class DataBindingComponent {
  name: string = '';
}

Nota: Asegúrate de haber importado FormsModule en tu módulo de Angular para usar ngModel.

Estos ejercicios sirven como un punto de partida para entender cómo trabajar con React, Vue y Angular. Se enfocan en características fundamentales como la gestión del estado en React, el renderizado dinámico de listas en Vue y el enlace de datos bidireccional en Angular.

A medida que te sientas cómodo con estos frameworks, intenta extender estos ejercicios con características adicionales como editar y eliminar tareas o implementar una lógica de estado más compleja en la aplicación de contador. Estas habilidades son esenciales para cualquier desarrollador web moderno y proporcionan una base sólida para construir aplicaciones complejas.

Ejercicios Prácticos para el Capítulo 9: Frameworks Modernos de JavaScript

Estos ejercicios están diseñados para reforzar tu comprensión de los frameworks de JavaScript discutidos en el Capítulo 9. Al completar estas tareas, obtendrás experiencia práctica en la aplicación de los conceptos fundamentales de React, Vue y Angular para construir componentes básicos y gestionar el estado de la aplicación de manera efectiva.

Ejercicio 1: Componente Contador en React

Objetivo: Crear un componente de React que implemente un contador simple. El componente debe mostrar un botón y un número. Cada clic en el botón debe incrementar el número.

Solución:

import React, { useState } from 'react';

function Counter() {
    const [count, setCount] = useState(0);

    const increment = () => {
        setCount(count + 1);
    };

    return (
        <div>
            <p>Count: {count}</p>
            <button onClick={increment}>Increment</button>
        </div>
    );
}

export default Counter;

Ejercicio 2: Lista de Tareas en Vue

Objetivo: Construir una aplicación simple de Vue que permita a los usuarios agregar elementos a una lista de tareas y mostrarlos.

Solución:

<template>
  <div>
    <input v-model="newTodo" @keyup.enter="addTodo" placeholder="Add a todo">
    <ul>
      <li v-for="todo in todos" :key="todo.id">
        {{ todo.text }}
      </li>
    </ul>
  </div>
</template>

<script>
export default {
  data() {
    return {
      newTodo: '',
      todos: [],
      nextTodoId: 1
    };
  },
  methods: {
    addTodo() {
      this.todos.push({ id: this.nextTodoId++, text: this.newTodo });
      this.newTodo = '';
    }
  }
}
</script>

<style>
/* Add style as necessary */
</style>

Ejercicio 3: Enlace de Datos en Angular

Objetivo: Crear un componente de Angular que vincule un campo de entrada a un elemento de párrafo, actualizando el contenido del párrafo en tiempo real a medida que escribes en el campo de entrada.

Solución:

import { Component } from '@angular/core';

@Component({
  selector: 'app-data-binding',
  template: `
    <input [(ngModel)]="name" placeholder="Enter your name">
    <p>Hello, {{ name }}!</p>
  `,
  styleUrls: ['./data-binding.component.css']
})
export class DataBindingComponent {
  name: string = '';
}

Nota: Asegúrate de haber importado FormsModule en tu módulo de Angular para usar ngModel.

Estos ejercicios sirven como un punto de partida para entender cómo trabajar con React, Vue y Angular. Se enfocan en características fundamentales como la gestión del estado en React, el renderizado dinámico de listas en Vue y el enlace de datos bidireccional en Angular.

A medida que te sientas cómodo con estos frameworks, intenta extender estos ejercicios con características adicionales como editar y eliminar tareas o implementar una lógica de estado más compleja en la aplicación de contador. Estas habilidades son esenciales para cualquier desarrollador web moderno y proporcionan una base sólida para construir aplicaciones complejas.

Ejercicios Prácticos para el Capítulo 9: Frameworks Modernos de JavaScript

Estos ejercicios están diseñados para reforzar tu comprensión de los frameworks de JavaScript discutidos en el Capítulo 9. Al completar estas tareas, obtendrás experiencia práctica en la aplicación de los conceptos fundamentales de React, Vue y Angular para construir componentes básicos y gestionar el estado de la aplicación de manera efectiva.

Ejercicio 1: Componente Contador en React

Objetivo: Crear un componente de React que implemente un contador simple. El componente debe mostrar un botón y un número. Cada clic en el botón debe incrementar el número.

Solución:

import React, { useState } from 'react';

function Counter() {
    const [count, setCount] = useState(0);

    const increment = () => {
        setCount(count + 1);
    };

    return (
        <div>
            <p>Count: {count}</p>
            <button onClick={increment}>Increment</button>
        </div>
    );
}

export default Counter;

Ejercicio 2: Lista de Tareas en Vue

Objetivo: Construir una aplicación simple de Vue que permita a los usuarios agregar elementos a una lista de tareas y mostrarlos.

Solución:

<template>
  <div>
    <input v-model="newTodo" @keyup.enter="addTodo" placeholder="Add a todo">
    <ul>
      <li v-for="todo in todos" :key="todo.id">
        {{ todo.text }}
      </li>
    </ul>
  </div>
</template>

<script>
export default {
  data() {
    return {
      newTodo: '',
      todos: [],
      nextTodoId: 1
    };
  },
  methods: {
    addTodo() {
      this.todos.push({ id: this.nextTodoId++, text: this.newTodo });
      this.newTodo = '';
    }
  }
}
</script>

<style>
/* Add style as necessary */
</style>

Ejercicio 3: Enlace de Datos en Angular

Objetivo: Crear un componente de Angular que vincule un campo de entrada a un elemento de párrafo, actualizando el contenido del párrafo en tiempo real a medida que escribes en el campo de entrada.

Solución:

import { Component } from '@angular/core';

@Component({
  selector: 'app-data-binding',
  template: `
    <input [(ngModel)]="name" placeholder="Enter your name">
    <p>Hello, {{ name }}!</p>
  `,
  styleUrls: ['./data-binding.component.css']
})
export class DataBindingComponent {
  name: string = '';
}

Nota: Asegúrate de haber importado FormsModule en tu módulo de Angular para usar ngModel.

Estos ejercicios sirven como un punto de partida para entender cómo trabajar con React, Vue y Angular. Se enfocan en características fundamentales como la gestión del estado en React, el renderizado dinámico de listas en Vue y el enlace de datos bidireccional en Angular.

A medida que te sientas cómodo con estos frameworks, intenta extender estos ejercicios con características adicionales como editar y eliminar tareas o implementar una lógica de estado más compleja en la aplicación de contador. Estas habilidades son esenciales para cualquier desarrollador web moderno y proporcionan una base sólida para construir aplicaciones complejas.