Начните изучать React JS: Создайте свое первое приложение

Posted by


React JS – это JavaScript библиотека, которая позволяет разрабатывать пользовательские интерфейсы для веб-приложений. React JS используется для создания динамичных и масштабируемых приложений, которые могут быстро реагировать на изменения данных и пользовательских действий.

В этом руководстве я покажу вам, как создать свое первое веб-приложение с использованием React JS. Мы будем создавать простое приложение для отображения списка задач, добавления новых задач и отметки задач как выполненные.

Шаг 1: Установка Node.js и создание нового проекта React

Прежде чем начать работу с React JS, убедитесь, что у вас установлен Node.js на вашем компьютере. Затем откройте терминал и выполните следующие команды:

  1. Установите Create React App CLI (инструмент для быстрого создания проектов React):

    npm install -g create-react-app
  2. Создайте новый проект React с именем "todo-list":

    create-react-app todo-list
  3. Перейдите в директорию вашего нового проекта:
    cd todo-list

Шаг 2: Создание компонентов для приложения

React JS основан на компонентах, которые являются независимыми и переиспользуемыми блоками интерфейса. Давайте создадим несколько компонентов для нашего приложения:

  1. TaskList.js – компонент для отображения списка задач
  2. TaskForm.js – компонент для добавления новых задач
  3. TaskItem.js – компонент для отображения отдельной задачи

Создайте эти компоненты в директории "src/components" вашего проекта. Напишем простой код для каждого компонента, чтобы позже подключить их к основному приложению.

Шаг 3: Отображение компонентов в приложении

Теперь давайте подключим наши созданные компоненты к основному приложению. В файле "App.js" вашего проекта, замените текущий код на следующий:

import React from 'react';
import TaskList from './components/TaskList';
import TaskForm from './components/TaskForm';

function App() {
  return (
    <div>
      <h1>Todo List</h1>
      <TaskList />
      <TaskForm />
    </div>
  );
}

export default App;

Теперь приложение будет отображать заголовок "Todo List", компонент TaskList для отображения списка задач и компонент TaskForm для добавления новых задач.

Шаг 4: Работа с состоянием и событиями

Для работы с данными и пользовательскими событиями в React JS используется состояние и обработчики событий. Давайте добавим функционал для добавления и удаления задач:

  1. В компоненте TaskForm.js добавьте следующий код для обработки ввода новой задачи и отправки формы:
import React, { useState } from 'react';

function TaskForm() {
  const [task, setTask] = useState('');

  const handleInputChange = (e) => {
    setTask(e.target.value);
  };

  const handleSubmit = (e) => {
    e.preventDefault();
    // Добавление новой задачи
    setTask('');
  };

  return (
    <form onSubmit={handleSubmit}>
      <input
        type="text"
        value={task}
        onChange={handleInputChange}
        placeholder="Add a new task"
      />
      <button type="submit">Add Task</button>
    </form>
  );
}

export default TaskForm;
  1. В компоненте TaskList.js добавьте следующий код для отображения списка задач и возможности удаления задачи:
import React, { useState } from 'react';

const tasks = [
  { id: 1, text: 'Task 1', isComplete: false },
  { id: 2, text: 'Task 2', isComplete: true },
];

function TaskList() {
  const [taskList, setTaskList] = useState(tasks);

  const handleDeleteTask = (taskId) => {
    // Удаление задачи по идентификатору
  };

  return (
    <ul>
      {taskList.map((task) => (
        <li key={task.id}>
          <span>{task.text}</span>
          <button onClick={() => handleDeleteTask(task.id)}>Delete</button>
        </li>
      ))}
    </ul>
  );
}

export default TaskList;

Шаг 5: Завершение и запуск приложения

Теперь, когда мы создали основную структуру приложения и добавили функционал для работы с задачами, остается только завершить проект и запустить его. Для этого выполните следующую команду в терминале:

npm start

После запуска команды, ваше React приложение будет запущено и откроется в браузере. Вы увидите заголовок "Todo List", список задач и форму для добавления новых задач. Попробуйте добавить новую задачу, отметить задачу как выполненную и удалить задачу.

Поздравляем! Вы только что создали свое первое веб-приложение с использованием React JS. Надеюсь, это руководство было полезным для вас и помогло вам начать работу с React JS. Удачи!

0 0 votes
Article Rating

Leave a Reply

25 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
@VladilenMinin
4 hours ago

Ловите клевый проект в портфолио. Часто у начинающих вопрос: "Я не знаю что делать и как практиковаться". Идите на крипторынок и пробуйте реализовать любой понравившийся интерфейс))
Вообще надеюсь это видео даст вам идей что еще можно попрактиковать. А кто нацелен на самый быстрый и эффективный способ попасть на работу разработчиков – срочно переходите сюда и начинайте учиться бесплатно: https://bit.ly/3StRwCN. Там же дорожная карта по React 2024

Для клевых ребят переходите в Boosty. Там начинается история про классное комьюнити: https://boosty.to/vladilen

@Александр-е9щ6ц
4 hours ago

2:24:02

@kozhydlo5256
4 hours ago

пожалуйста давай больше таких видео

@tmarikyan
4 hours ago

Как всегда Владилен лучший

@ИльмирСалихов-к6р
4 hours ago

Как понимать, что и как вы делаете? 😂 Как вы не запутываетесь во всём этом? Реально хочу вкурить, как вы думаете. 😂 Мне смешно за себя. Я думал, если буду смотреть такие видео, то со временем въеду в премудрости кодинга. 😂

@TONY_BERG_MINSK
4 hours ago

Ты лучший Блогер!!!❤❤❤🎉😊

@UnitBlock
4 hours ago

У меня есть практика , нужно попрааить код сайта.

@lvovich_biz
4 hours ago

Пушка! Спасибо большое

@alexanonym1584
4 hours ago

Порядок же следования мапы не определен по идее данные для чарта могут отображаться неправильно 2:39

@alexanonym1584
4 hours ago

А как все таки сделать нормальный селект слева? Чтобы выбранное поле отображалось в самом селекте 1:34:10

@EvilYou
4 hours ago

33:38 Не 2, а 4 секунды. Так как у нас два асинхронных запроса выполняются один за другим.

Есть баг при добавлении такой же валюты, какая задана в ассете. В консоли ошибка будет.

@НискемкромеСовести
4 hours ago

видел что ты снимаешь давно. но открыл тебя как программиста только сейчас. Ты хорош. Но твой канал теряется среди инфоциган все язычных говнакодеров и фуфламетов с их роликами чего учить и как куда войти. А так ты как автор контента просто супер. Есть еще 3. Остальные каналы пустышки холеварные

@Xrustalleff
4 hours ago

Эх, щас бы в 24 году идти во фронтенд

@НискемкромеСовести
4 hours ago

ты когда скачешь между страницами помни что ты это делаешь не для того что бы тебе было видно и понятно а что бы было понятно нам. а если ты ведешь себя как муда к после того как написал строчку сразу перескакиваешь на страницу смотреть ты забываешься. не нужно быть мудаком

@alxski6318
4 hours ago

Неплохо было бы про настройки htaccess для spa приложений, в т.ч. развернутых в поддиректориях и что бы все это работало с react router (вкл. detailed routes) из строки ввода адреса

@АндрейПоляков-е5н
4 hours ago

https://youtu.be/S4HOy6yTclU?t=5386 Посмотрел API селекта, в обработчик onSelect 2м параметром приходит option, так что можно избежать лишней пробежки по массиву

@skyand_fly
4 hours ago

Спасибо! Хотелось бы еще!

@kerfuflekhjk2941
4 hours ago

А как вносить изменения на сервер или в дист? после того как уже задеплоил
именно проблема в том что я задеплоил, а потом изменения не отображаются на локал хосте, хоть я уже и закомитил изменения на гит хаб. Это надо что то по серверной части делать? с дистом я так понял но я не понимаю как его пересобрать(

@andreyvbzuev8977
4 hours ago

Why not Typescript?

@valerypobelenskiy1001
4 hours ago

Не отрабатывает почему-то select на открытие через keypress по /странно…

25
0
Would love your thoughts, please comment.x
()
x