OnePorted

Полное руководство по React

Введение в React

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

Компоненты и JSX

Компоненты - это строительные блоки любого React-приложения. Компонент - это JavaScript функция, которая возвращает JSX (JavaScript XML) - расширение синтаксиса JavaScript.

function App() {
  return (
    <div>
      <h1>Привет, мир!</h1>
      <p>Это мой первый React компонент.</p>
    </div>
  );
}

Props

Props (сокращение от "properties") - это способ передачи данных от родительского компонента к дочернему.

function Greeting(props) {
  return <h1>Привет, {props.name}!</h1>;
}

function App() {
  return (
    <div>
      <Greeting name="Алиса" />
      <Greeting name="Боб" />
    </div>
  );
}

Хуки

Хуки - это функции, которые позволяют вам использовать состояние и другие возможности React без написания классов.

useState позволяет добавить состояние в функциональные компоненты.

function App() {
  const [count, setCount] = React.useState(0);

  return (
    <div>
      <p>Вы кликнули {count} раз</p>
      <button onClick={() => setCount(count + 1)}>
        Нажми меня
      </button>
    </div>
  );
}

Обработка событий

React позволяет легко добавлять обработчики событий к элементам в JSX.

function App() {
  const handleClick = () => {
    alert('Кнопка была нажата!');
  };

  return <button onClick={handleClick}>Нажми меня</button>;
}

Условный рендеринг

В React вы можете создавать различные компоненты, которые инкапсулируют необходимое вам поведение. Затем вы можете рендерить только некоторые из них, в зависимости от состояния вашего приложения.

function Greeting({ isLoggedIn }) {
  if (isLoggedIn) {
    return <h1>С возвращением!</h1>;
  }
  return <h1>Пожалуйста, войдите.</h1>;
}

function App() {
  const [isLoggedIn, setIsLoggedIn] = React.useState(false);

  return (
    <div>
      <Greeting isLoggedIn={isLoggedIn} />
      <button onClick={() => setIsLoggedIn(!isLoggedIn)}>
        {isLoggedIn ? 'Выйти' : 'Войти'}
      </button>
    </div>
  );
}

Списки и ключи

При работе со списками в React важно использовать ключи для оптимизации производительности.

function App() {
  const todos = ['Изучить React', 'Создать приложение', 'Развернуть приложение'];

  return (
    <ul>
      {todos.map((todo, index) => (
        <li key={index}>{todo}</li>
      ))}
    </ul>
  );
}

Формы

React позволяет создавать интерактивные формы с использованием состояния компонента.

function App() {
  const [name, setName] = React.useState('');

  const handleSubmit = (event) => {
    event.preventDefault();
    alert('Отправленное имя: ' + name);
  }

  return (
    <form onSubmit={handleSubmit}>
      <label>
        Имя:
        <input type="text" value={name} onChange={(e) => setName(e.target.value)} />
      </label>
      <input type="submit" value="Отправить" />
    </form>
  );
}

Заключение

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