Разница в производительности React / Redux между пропуском реквизита и подключением компонентов - PullRequest
0 голосов
/ 26 июня 2018

У меня есть сомнения относительно React / Redux, есть ли разница в производительности между подключенным родителем, который передает реквизиты всем дочерним или дочерним компонентам, подключенным непосредственно к хранилищу?

В качестве примера рассмотрим этот псевдокод с SampleList с SampleItems:

Подход 1

<ConnectedSampleList>
  <SampleItem />
  <SampleItem />
  ...
  <SampleItem />
</ConnectedSampleList>

Подход 2

<SampleList>
  <ConnectedSampleItem />
  <ConnectedSampleItem />
  ...
  <ConnectedSampleItem />
</ConnectedSampleList>

Мне известно, что первый подход выглядит как лучшая практика для базового сценария, но как насчет более сложных иерархий, например, ConnectedFooComponent> Wrapper> AnotherWrapper> SampleList> SampleItem с Wrapper, AnotherWrapper и SampleList, совместно используемыми с FooComponent, BarComponent и т. Д.

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

...