Pull to refresh
  • by relevance
  • by date
  • by rating

Текстовый туториал по react-router, а так же react-router + redux. На русском

JavaScriptReactJS

Всем добрый день. Немного с задержкой, но все же выходит третий мини-учебник. На этот раз разобран react-router. А так же две главы посвещены интеграции react-router + redux.


В процессе интеграции rr+redux я не использовал react-router-redux и redux-router. Как указано в самой книге, из-за активного развития библиотек, мне хотелось бы «научить вас рыбачить», а не просто «дать рыбу».


Также, приведенный способ по интеграции основан на личном опыте, плюс ответах разработчика redux (его твиттер) на SO, и изучении различных репозиториев. Он не является «единственно верным». Пожалуйста, укажите ссылки на ваши репозитории, либо предложите свои варианты в комментариях.


Поехали!


book_screen

Читать дальше →
Total votes 11: ↑11 and ↓0 +11
Views42K
Comments 5

React.js: собираем с нуля изоморфное / универсальное приложение. Часть 2: добавляем bootstrap, страницы и роутинг

Node.JSReactJS
Tutorial

Разработка изоморфного приложения глазами моей жены


Это продолжение статьи про разработку изоморфного приложения с нуля на React.js. В этой части мы добавим несколько страниц, bootstrap, роутинг, концепцию Flux и ее популярную реализацию Redux.

Читать дальше →
Total votes 25: ↑24 and ↓1 +23
Views78.4K
Comments 22

Create React App (aka React Scripts) и серверный рендеринг с Redux и Router

Website developmentClient optimizationNode.JSReactJS

Из комментариев к статье стало понятно, что очень многие люди склоняются в сторону экосистемы Create React App (он же React Scripts). Это вполне разумно, т.к. это самый популярный и простой в использовании продукт (благодаря отсутствию конфигурации и поддержке ведущих людей React-сообщества), в котором, к тому же, есть почти все необходимое — сборка, режим разработки, тесты, статистика покрытия. Не хватает только серверного рендеринга.


В качестве одного из способов в официальной документации предлагается либо вбивать начальные данные в шаблон либо воспользоваться статическими слепками. Первый подход не позволит поисковикам нормально индексировать статичный HTML, а второй — не поддерживает проброс никаких начальных данных, кроме HTML (фраза из документации: this doesn't pass down any state except what's contained in the markup). Поэтому если используется Redux, то придется для рендеринга использовать что-то другое.


Я адаптировал пример из статьи для использования с Create React App, теперь он называется Create React Server и умеет запускать серверный рендеринг командой:


create-react-server --createRoutes src/routes.js --createStore src/store.js
Читать дальше →
Total votes 7: ↑7 and ↓0 +7
Views26.1K
Comments 12

Архитектура модульных React + Redux приложений

Website developmentJavaScriptSystem Analysis and DesignDesigning and refactoring
Tutorial


Большинство разработчиков начинает знакомство с Redux с Todo List Project. Это приложение имеет следующую структуру:

actions/
  todos.js
components/
  todos/
    TodoItem.js
    ...
constants/
  actionTypes.js
reducers/
  todos.js
index.js
rootReducer.js

На первый взгляд такая организация кода кажется логичной, ведь она напоминает стандартные соглашения многих backend MVC-фреймворков:

app/
  controllers/
  models/
  views/

На самом деле, это неудачный выбор как для MVC, так и для React+Redux приложений по следующим причинам:

  1. С ростом приложения следить за взаимосвязью между компонентами, экшнами и редюсерами становится крайне сложно
  2. При изменении экшна или компонента с большой вероятностью потребуется внести изменения и в редюсер. Если количество файлов велико, скролить IDE вверх/вниз не удобно
  3. Такая структура потворствует копипасте в редюсерах

Не удивительно, что многие авторы(раз, два, три) советуют структурировать приложение по «функциональности» (by feature).
Читать дальше →
Total votes 16: ↑15 and ↓1 +14
Views50.8K
Comments 41

Развёрнутый комментарий Дэна Абрамова к статье «Вещи, о которых никто вам не расскажет про React»

ReactJS
Translation

Всем привет! Недавно Дэн Абрамов, создатель Redux, оставил довольно массивный комментарий к статье на Medium Things nobody will tell you about React.js, который очень быстро разошёлся популярностью и довольно скоро набрал раза в 3 больше рекомендаций, чем сама статья :)
Собственно, текущая статья является моим переводом его комментария, так как последняя содержит ценные замечания по поводу актуального и будущего состояния React / React Router.
Надеюсь, кому-то это будет полезным.




Привет, спасибо за обратную связь! :)


Я ценю, что вы поделились своим неприятным опытом работы с React.


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


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

Читать дальше →
Total votes 36: ↑32 and ↓4 +28
Views23.9K
Comments 3

Как сделать конфигурационный файл роутов в React Router 4 (субтитры)

JavaScriptReactJS
Translation
Tutorial

Когда react-router 4 только появился, многие переживали по двум поводам:


  • Как вынести роуты в отдельный файл (конфиг роутов)
  • Как теперь жить без onEnter хука.

В видео от Tyler McGinnis'a освещен первый вопрос.


Читать дальше →
Total votes 17: ↑13 and ↓4 +9
Views6.1K
Comments 18

Маршрутизация в большом приложении на React

Rambler&Co corporate blogWebsite developmentJavaScriptProgrammingReactJS


Привет, меня зовут Борис Шабанов, я — руководитель Frontend-разработки в департаменте разработки рекламных технологий Rambler Group. Сегодня я расскажу вам о том, как на нашем приложении возникли проблемы маршрутизации, и про то, как мы их решали.

Читать дальше →
Total votes 13: ↑13 and ↓0 +13
Views30.5K
Comments 21

React Hook Router современная альтернатива React Router

Website developmentJavaScriptReactJS
image

Вольный перевод публикации How React Hooks can replace React Router.
Автор Peter Ekene Eze.

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

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

С этой целью мы сравним React Router и hooksrouter на наглядных примерах. Для начала давайте поближе посмотрим на React Router.
Читать дальше →
Total votes 15: ↑12 and ↓3 +9
Views25.4K
Comments 27

Как мы победили попапы в мессенджере Gem4Me

JavaScriptReactJS
Recovery mode


Привет, Хабр!

Сегодня я, лид Web-разработки мессенджера Gem4Me, и мое альтер эго “АйТи Синяк” хотим поделиться своей историей борьбы с модальными окнами.

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

Читать дальше →
Total votes 15: ↑8 and ↓7 +1
Views1.6K
Comments 7

5 типичных ошибок при создании React компонентов (с хуками) в 2020 году

Quarkly corporate blogJavaScriptReactJS
Translation
image

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


Оригинальный материал был написан немецким разработчиком Лоренцом Вайсом для личного блога, а позже собрал много позитивных отзывов на dev.to. Переведено командой Quarkly специально для комьюнити на Хабре.


Читать дальше →
Total votes 19: ↑18 and ↓1 +17
Views10.8K
Comments 37

Работа со строкой запроса в React

ReactJS
Recovery mode
Привет. Это та статья, о том пакете которого мне не хватало в работе с реактом.

image

А если быть более конкретно, то о пакете для улучшение и облегчение работы с запросами из поисковой строки.
Читать дальше →
Total votes 3: ↑3 and ↓0 +3
Views3.4K
Comments 0

react-router: Три метода рендеринга маршрутов (компонентный, рендеринговый и дочерний)

OTUS corporate blogJavaScriptReactJS
Translation

В прошлом посте я рассказывал об учебнике по настройке react-router. Если вы не читали предыдущий пост, нажмите здесь! Я хочу добавить несколько важных тем о методах рендеринга маршрутов.

Читать далее
Total votes 6: ↑5 and ↓1 +4
Views1.9K
Comments 2