Mr_Franke
@Mr_Franke
Front-end developer

Как организовать роутинг в React приложении?

Приветствую!
Для изучения React решил создать небольшое приложение, но столкнулся с вопросом организации роутинга. Нашел react-router и сейчас использую его, но мне не нравится идея определять роуты через компоненты и потом вызывать render() для их инициализации. Не нравится только потому что роутниг это не визуальный компонент и не очень понятно зачем его рендерить (нелогично). Да и React является чисто view в MVC, по этому перекладывать на него ответственность за роутинг мне кажется не правильным.
Собственно вопрос в том как вы организуете роутинг в своих React приложениях и не лучше ли использовать сторонние библиотеки для работы с роутами?
  • Вопрос задан
  • 2640 просмотров
Решения вопроса 1
У вас приложение состоит из двух частей:
- это глупые (dumb) компоненты, по факту это почти все Ваши компоненты. Они просто рендерят props
- это так называемые контейнеры (или controller-view pattern), такие компоненты привязаны к redux (например) и у них есть логика.

react-router - это самое популярное (и на мой взгляд - лучшее) решение для роутинга. Не относитесь к этому как к вью. Просто удобней всего было сделать роуты как компоненты (но можно использовать и простые JS объекты). А сам роутер по определению должен рендерится, т.к. он и отображает нужный компонент в зависимости от url.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@YNile
JS Developer
react-router
Ответ написан
Комментировать
@vsuhachev
react-router это такой компонент, который рендерит те или иные вложенные компоненты в зависимости от переданного в него пути. То что вам это кажется нелогичным - не проблема реакт-роутера.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы