Я занимаюсь разработкой проекта, в котором используется агрессивная композиция (каждый компонент будет иметь много компонентов в своем дереве, а также каждый из компонентов будет иметь значительное количество компонентов) и использует Redux для управления состоянием.
Например:
<ComponentA>
<ComponentB>
<ComponentC>
...
<ComponentZ>
</ComponentZ>
</ComponenetC>
</ComponentB>
</ComponentA>
Каждый из этих компонентов будет иметь свои собственные функции , которые могут изменять состояние приложения.
Какой будет наиболее эффективный подход для управления всеми функциями, которые изменяют состояние в приложении?
-Используйте компонент-контейнер, который соединяет компонент с действиями и передает все функции вниз вдерево компонентов
Пример:
<ComponentA
funcB={this.props.funcB}
funcC={this.props.funcC}
...
funcZ={this.props.funcZ}
>
-Каждый компонент имеет свой собственный контейнер, поэтому в дереве компонентов будет передано меньше функций, но каждому компоненту потребуется дополнительный компонент для подключения:
<ContainerA>
<ContainerB>
...
<ContainerZ />
</Container>
</ContainerA>