logo by @sawaratsuki1004

React

Библиотека для веб- и нативных пользовательских интерфейсов

Создавай пользовательский интерфейс из компонентов

React позволяет создавать пользовательский интерфейс из отдельных компонентов. Создай свои собственные React компоненты, например Thumbnail, LikeButton, и Video. Затем объедини их в экраны, страницы, и приложения.

Video.js

function Video({ video }) {
return (
<div>
<Thumbnail video={video} />
<a href={video.url}>
<h3>{video.title}</h3>
<p>{video.description}</p>
</a>
<LikeButton video={video} />
</div>
);
}

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

Пиши компоненты с кодом и разметкой

React компоненты - это JavaScript функции. Хочешь показать что-то условно? Используй if оператор. Отображаешь список? Используй массив с функцией map(). Изучение React - это изучение программирования.

VideoList.js

function VideoList({ videos, emptyHeading }) {
const count = videos.length;
let heading = emptyHeading;
if (count > 0) {
const noun = count > 1 ? 'Videos' : 'Video';
heading = count + ' ' + noun;
}
return (
<section>
<h2>{heading}</h2>
{videos.map(video =>
<Video key={video.id} video={video} />
)}
</section>
);
}

Этот синтаксис разметки называется JSX. Это расширение JavaScript синтаксиса популяризированное React. Приближение разметки JSX к соответствующей логике рендеринга упрощает создание, обслуживание и удаление компонентов React.

Добавляйте интерактивность везде, где вам это нужно

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

SearchableVideoList.js

import { useState } from 'react';

function SearchableVideoList({ videos }) {
const [searchText, setSearchText] = useState('');
const foundVideos = filterVideos(videos, searchText);
return (
<>
<SearchInput
value={searchText}
onChange={newText => setSearchText(newText)} />
<VideoList
videos={foundVideos}
emptyHeading={`No matches for “${searchText}”`} />
</>
);
}

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

Full-stack с помощью фреймворка

React является библиотекой. Она позволяет вам собирать компоненты вместе, но она не указывает, как создавать маршрутизацию и получение данных. Чтобы создать целое приложение с React, мы рекомендуем использовать фреймворк React, например Next.js или Remix.

confs/[slug].js

import { db } from './database.js';
import { Suspense } from 'react';

async function ConferencePage({ slug }) {
const conf = await db.Confs.find({ slug });
return (
<ConferenceLayout conf={conf}>
<Suspense fallback={<TalksLoading />}>
<Talks confId={conf.id} />
</Suspense>
</ConferenceLayout>
);
}

async function Talks({ confId }) {
const talks = await db.Talks.findAll({ confId });
const videos = talks.map(talk => talk.video);
return <SearchableVideoList videos={videos} />;
}

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

Используйте лучшее из каждой платформы

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

example.com

Оставайся верен вебу

Люди ожидают, что веб-приложения будут загружаться быстро. На сервере React позволяет начать передачу HTML, пока вы все еще загружаете данные, прогрессивно заполняя оставшееся содержимое перед загрузкой какого-либо кода JavaScript. На клиенте, React может использовать стандартные веб-API для поддержания вашей UI отзывчивой даже в процессе рендеринга.

12:18 PM

Переходи на нативные платформы

Люди ожидают, что приложения будут выглядеть и ощущаться также, как и на их платформе. React Native и Expo позволяют вам создавать приложения в React для Android, iOS и других платформ. Они выглядят и ощущаются как написанные на нативных платформах, потому что их UI действительно нативный. Это не веб-представление — ваши React компоненты рендерят реальные нативные элементы.

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

Обновляйтесь, когда будете готовы к будущим изменениям

React подходит к изменениям с уважением. Каждый коммит React тестируется на критичных для бизнеса облостях более миллиарда пользователей. Более 100 тысяч React компонентов в Meta помогают валидировать каждую стратегию миграции.

Команда React всегда исследует, как улучшить React. Некоторые исследования требуют нескольких лет, чтобы оправдать себя. React имеет высокий барьер для принятия идеи к воплощению. Только доказанные подходы становятся частью React.

Присоединись к сообществу измиллионов разработчиков

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

People singing karaoke at React Conf
Sunil Pai speaking at React India
A hallway conversation between two people at React Conf
A hallway conversation at React India
Elizabet Oliveira speaking at React Conf
People taking a group selfie at React India
Nat Alison speaking at React Conf
Organizers greeting attendees at React India

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

logo by @sawaratsuki1004

Добро пожаловать вReact сообщество

Присоединиться