Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.05.2017, 13:03
Новичок на форуме
Отправить личное сообщение для endid Посмотреть профиль Найти все сообщения от endid
 
Регистрация: 29.05.2017
Сообщений: 1

Изучаю React.js + Redux, прошу советов по организации приложения
Изучаю React.js, в процессе возникли вопросы, не дающие покоя. Надеюсь, кто-то сможет подсказать. Конкретного кода не привожу, т.к. вопросы касаются организационного характера.

Существует некое комплексное веб приложение, рассмотрим только одну его часть:

Есть раздел с некоторыми элементами, у элементов есть стандартные поля (id, имя, слаг ...), а так же категория. Приложение должно выводить список всех элементов, список элементов по категории, и отдельный элемент. При этом, есть определенные маршруты для этих страниц:

/list - все элементы
/list/{ category_slug } - список элементов по категории
/list/{ category_slug }/{ item_slug } - страница элемента

Я более-менее разобрался с Redux, как работаю экшны, редьюсеры, как подписывать компоненты на изменения в стор. Вопрос только, как это все лучше организовать?

Что стоит подписывать на изменения стора? Глобальный для всего приложения компонент App, и потом ко всем потомкам пробрасывать нужные экшны и пропсы (между глобальным компонентом и целевым может оказаться 3-4 промежуточных компонента), или лучше подписывать конкретные страницы (страница списка, страница элемента)?

Как лучше организовать выборку по категориям? Получить сразу все категории, а потом фильтровать? Опять же, все сразу получаться не будут, т.к. будет подгрузка по скроллу.

Как лучше представить страницу элемента? Сделать общий объект для одного элемента и каждый раз изменять в нем данные, получая новые поля элементов при переходе на на страницы других элементов (т.е. при заходе на страницу делаем запрос к api и обновляем объект новыми данными), или дополнять значениями существующий массив элементов, полученный для отображения списка (так же делаем запрос к api, но при этом не затираем значения единственного объекта, а дополняем конкретный объект в массиве новыми полями)?

Когда лучше всего вызывать экшн на получение данных? Получаю в componentDidMount, но не уверен, что это правильно. Может лучше в конструкторе?

До этого не было опыта работы с одностраничными приложениями, поэтому не все еще понятно.

Надеюсь на помощь, спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 20.06.2017, 00:22
Новичок на форуме
Отправить личное сообщение для barisbo Посмотреть профиль Найти все сообщения от barisbo
 
Регистрация: 20.06.2017
Сообщений: 1

Если еще актуально, то ко всем потомкам пробрасывать нужные экшны и пропсы не обязательно. можно использовать connect из библиотеки react-redux, и подключать необходимые экшены и стор к нужным компонентам.
экшн на получение данны- componentDidMount.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск