Курс React JS для новичков – Освой Реакт за 2 часа с нуля!

Posted by


В этом уроке я подробно расскажу о том, как изучить React JS с нуля за всего 2 часа. React – это JavaScript библиотека для создания пользовательских интерфейсов. Он используется многими крупными компаниями, такими как Facebook, Instagram, Netflix и Airbnb. React позволяет создавать динамические веб-приложения, реагирующие на изменения в данных и обновляющие интерфейс без перезагрузки страницы.

Прежде чем начать изучение React, вам потребуется некоторые базовые знания веб-разработки, такие как HTML, CSS и JavaScript. Если у вас уже есть такие навыки, то вы можете легко освоить React за 2 часа. Если же вы новичок в веб-разработке, то можете потребоваться немного больше времени на изучение.

Шаг 1: Установите Node.js и npm

Первым шагом для начала работы с React является установка Node.js и npm. Node.js – это среда выполнения JavaScript на стороне сервера, которая позволяет запускать JavaScript код за пределами браузера. npm – менеджер пакетов для JavaScript, который позволяет управлять зависимостями в вашем проекте.

Вы можете загрузить Node.js с официального сайта (https://nodejs.org/) и установить его на свой компьютер. После установки Node.js, npm будет автоматически установлен вместе с ним.

Шаг 2: Установите Create React App

Create React App – это инструмент для быстрого создания React приложений без необходимости настройки среды разработки. Для установки Create React App выполните следующую команду в терминале:

npx create-react-app my-app

Эта команда создаст новый проект React с названием "my-app". Замените "my-app" на любое другое имя, которое вы хотите использовать для вашего проекта.

Шаг 3: Запустите React приложение

После того как проект был создан, перейдите в его директорию и запустите приложение с помощью следующей команды:

cd my-app
npm start

Эта команда запустит локальный сервер и откроет ваше React приложение в браузере. Теперь вы можете начать разработку вашего приложения. В React приложении вы найдете файлы App.js, index.js и index.html. App.js содержит основную компоненту приложения, index.js – точку входа в приложение, а index.html – шаблон страницы.

Шаг 4: Изучите основы React

React основан на компонентах, которые представляют собой независимые блоки кода, отвечающие за отображение определенной части интерфейса. Каждый компонент может иметь внутреннее состояние и принимать входные параметры в виде свойств (props).

В React компоненты могут быть функциональными или классовыми. Функциональные компоненты – это простые функции, которые возвращают JSX (расширение синтаксиса JavaScript, позволяющее писать HTML внутри JavaScript). Классовые компоненты – это классы, наследуемые от React.Component, у которых есть метод render() для возвращения JSX.

Например, вот простой функциональный компонент:

function Hello() {
  return <h1>Hello, World!</h1>;
}

И вот простой классовый компонент:

class Hello extends React.Component {
  render() {
    return <h1>Hello, World!</h1>;
  }
}

Шаг 5: Изучите работу с состоянием и событиями

В React компоненты могут иметь внутреннее состояние, которое можно изменять с помощью метода setState(). Состояние компонента определяет, как компонент будет выглядеть и вести себя в определенный момент времени. Вы можете инициализировать состояние компонента в конструкторе и изменять его с помощью метода setState().

Также в React вы можете обрабатывать события, такие как клики мыши, наведение курсора и т.д. События передаются в JSX как атрибуты и обрабатываются с помощью функций обратного вызова.

Вот пример компонента, который меняет свое состояние при клике на кнопку:

class Counter extends React.Component {
  constructor(props) {
    super(props);
    this.state = { count: 0 };
  }

  handleClick = () => {
    this.setState({ count: this.state.count + 1 });
  }

  render() {
    return (
      <div>
        <p>Count: {this.state.count}</p>
        <button onClick={this.handleClick}>Increment</button>
      </div>
    );
  }
}

Шаг 6: Изучите передачу данных через props

В React компоненты могут принимать данные от родительских компонентов через свойства (props). Props передаются компонентам как атрибуты и доступны через this.props.

Пример компонента, который принимает свойство (props) и отображает его значение:

function Welcome(props) {
  return <h1>Hello, {props.name}!</h1>;
}

const element = <Welcome name="John" />;

Шаг 7: Изучите жизненный цикл компонента

React компоненты имеют жизненный цикл, который состоит из различных методов, вызываемых на разных этапах жизни компонента. Некоторые из наиболее используемых методов жизненного цикла:

  • componentDidMount() – вызывается после того, как компонент был добавлен в DOM.
  • componentDidUpdate() – вызывается после того, как компонент был обновлен.
  • componentWillUnmount() – вызывается перед удалением компонента из DOM.

Шаг 8: Изучите работу с API

В React вы можете работать с API, получая данные из удаленного сервера с помощью сетевых запросов. Для этого вы можете использовать встроенный fetch API или любую библиотеку для работы с сетью, такую как Axios или Fetch.

Вот пример компонента, который получает данные с сервера и отображает их:

class PostList extends React.Component {
  state = { posts: [] };

  componentDidMount() {
    fetch("https://jsonplaceholder.typicode.com/posts")
      .then(response => response.json())
      .then(posts => this.setState({ posts }));
  }

  render() {
    return (
      <div>
        {this.state.posts.map(post => <p key={post.id}>{post.title}</p>)}
      </div>
    );
  }
}

Это всего лишь небольшой обзор основ React. Чтобы глубже понять React, вам нужно прочитать официальную документацию и пройти дополнительные уроки. Надеюсь, что этот урок поможет вам начать изучение React и разработку динамических веб-приложений. Удачи!

0 0 votes
Article Rating

Leave a Reply

40 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
@REDGroup
5 hours ago

Всех с праздником! 🎉
🔥 Забрать подписку по скидке 50% + тариф "навсегда" (ТОЛЬКО ДО 3 сентября) – https://htmllessons.io/premium
*В сентябре подписок в продаже больше не будет, будут только штучные продажи каждого продукта отдельно. Сейчас последняя возможность!

@dreamerdev5032
5 hours ago

1 03

@dreamerdev5032
5 hours ago

59

@dreamerdev5032
5 hours ago

55

@donjuanfamily1128
5 hours ago

Моргни в следующем видео, если тебя держат в заложниках. Ты выкладываешь видео как терминатор 😂 Пока единственный канал, который успевает выкладывать туториалы быстрее чем выходят фреймворки на JS

@ilya10rus
5 hours ago

Вау, как ты умеешь заряжать❤

@mashkanasevere7391
5 hours ago

Отличное видео, спасибо!!!! как раз учу сейчас, а новых видео по реакт оч мало

@UchimVmeste.
5 hours ago

Братан , с нуля тебя сложно понять , к тебе надо идти после определенных знаний .

@azizbeksafarov584
5 hours ago

Жду польный курс по Tailwind 2024❤❤

@Se7eN_time
5 hours ago

Больше 3тысяч лайков ) ждем next)

@-Vladimir--
5 hours ago

Да не плохо было бы Tailwind + react какой-то не большой сайт с разбором

@yurchinhotv2972
5 hours ago

если чесно то ето ахуенно

@yurchinhotv2972
5 hours ago

топ

@catfish_games
5 hours ago

Используется ли в этом видео state manager? И будут ли новые видео с использованием Redux? Так как он все еще актуален в вакансиях. Будет ли правильно после этого курса посмотреть "Полный курс Redux Toolkit + RTK Query для начинающих"?

@Principal19911
5 hours ago

Блин, а вот его не могу смотреть в ускоренном режиме)
Редко такое встречается.

@АндрейЛихтгольц-э2з
5 hours ago

Продолжай в том же духе. выполнена огромная работа. благодарность

@shurinskiy
5 hours ago

Макс, супер конечно, что делаешь актуальный образовательный контент, да еще и бесплатный. Респект за это.
Но над качеством подачи материала еще работать и работать. Хотя бы какой-то, примерный код, надо заранее накидывать..

@paimonc8593
5 hours ago

пол года писал на vue и все равно очень трудно(

@AlexeyAbramovich
5 hours ago

2:08:36 Попробовал Макс сделать через <div> и contentEditable, как ты и предложил. В итоге, результат такой же, как и в <textarea>, т.е. тег <b> вставляется как текст, а не применяется как стиль. Ты был прав, у div нет selectionStart и selectionEnd.
Шаги как делал:
1. Вешаю на этот див слушатель onMouseUp
const handleMouseUp = () => {

// получаю выделенный текст

const selection = window.getSelection()

if (!selection) return

// получаю стартовую и конечную поозицию выделенного текста

const range = selection.getRangeAt(0)

const startPos = range.startOffset

const endPos = range.endOffset

// сохраняю все в стейт

setSelection({

text: selection.toString(),

start: startPos,

end: endPos,

})

}
2.
const applyFormat = (style: TStyle) => {

if (!textRef.current) return

if (!textRef.current.textContent) return

if (!selection.text) return

// тут как и с textarea

const before = text.substring(0, selection.start)

const after = text.substring(selection.end)

setText(before + applyStyle(style, selection.text) + after)

}
3. div вот так выглядит
<div

contentEditable

ref={textRef}

className={styles.editor}

spellCheck="false"

onMouseUp={handleMouseUp}

onChange={() => setText(textRef.current?.textContent ?? '')}

>{text}</div>

@imbydlo1552
5 hours ago

Когда урок по Blazor?

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