Как не потеряться в экосистеме React?

Сергей Смышляев / @sesm_

React

Наверняка вы про него уже слышали

Год назад: "просто view библиотека"

React

Сейчас

ES6

Redux

"Изоморфные" приложения

GraphQL/Relay

Может скачать шаблон?

React

Библиотеки и тулы решают конкретные проблемы

Если у вас нет этих проблемы - не используйте

Отсутствие проблем - это хорошо

Изучать тулы и библиотеки лучше по ходу появления проблем

План

Изучать лучше так:

  • React
  • npm и "бандлеры"
  • router
  • ES6
  • Redux

План

Вам вряд ли понадобятся:

  • Серверный рендеринг
  • CSS-in-JS (Radium, etc)
  • ImmutableJS
  • GraphQL/Relay

React

Просто вставьте скрипты React и Babel в страницу

Офциальный туториал

NPM

Когда нужен?

  • npm - управление зависимостями
  • бандлер - когда у вас много файлов

Бандлеры

Browserify или Webpack?

Webpack!

Темплейт здорового человека

Туториал

router

Когда нужен?

  • Одностраничное приложение
  • Меняем url для удобства, но страницу заново не грузим
  • Части страницы могут оставаться при смене url

react-router

Самый популярный роутер для react

Примеры из репозитория

ES6

Когда нужен?

  • На самом деле, можно без него
  • Но с ним код будет более компактным
  • Используется в некоторых примерах

ES6

Babel всё равно подключается для JSX

Можно изучать постепенно, по одной фиче

  • Лямбды
  • Maps
  • Spread оператор
  • Модули

Facebook не использует ES6 классы!

Redux

Когда нужен?

  • Действия, затрагивающие компоненты выше по иерархии
  • Общие данные для нескольких view

Redux

Крутая кривая обучения

Расширяем, экосистема middleware

Используется в React Native

Можно использовать с Angular и другими фреймворками

Видеокурс от автора Redux

Официальная документация

Спасибо!

Контакты

Twitter: @sesm_

E-mail: sergey.smyshlyaev@gmail.com

Telegram: @sergey_smyshlyaev

VK: vk.com/id115992

Вопросы?

JSNN#3

By Sergey Smyshlyaev

JSNN#3

Как не потеряться в экосистеме React?

  • 1,566