Использование избыточного кода для инициализации глобального состояния, а затем для разрешения состояния локального компонента - PullRequest
0 голосов
/ 23 октября 2018

Это скорее вопрос состояния / наилучшей практики с реакцией и избыточностью.

У меня есть приложение, которое обрабатывает три вида данных (альбомы, записи, профили) и отображает их все в одном компоненте (ScrollGrid), который обладает бесконечной функциональностью прокрутки.Этот компонент извлекает реквизит «контекста» из хранилища редуксов и получает gridContext, из которого устанавливается макет.

Часть состояния избыточности выглядит следующим образом:

{ 
  context: "posts",
  pages: [[...],[...]],
  currentPage: 0,
  hasMorePages: true,
  isFetching: false,
  tabPosition: 0
}

Когда мои компоненты AppRouterсначала монтирует, что получает некоторые фиды, «публикует» данные, устанавливает эти данные в хранилище избыточных данных и передает их компоненту ScrollGrid.Компонент ScrollGrid может быть вложен в несколько компонентов вниз (и может взаимодействовать с промежуточными компонентами между ними). ​​

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

1 Ответ

0 голосов
/ 23 октября 2018

Нашел решение: компоненты на самом деле не разделяют одно и то же состояние (записи, альбомы и профили все разные), хотя благодаря функции бесконечной прокрутки они имеют одинаковые свойства (страницы, currentPage, isLoading и т. Д.),

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...