На фундаментальном уровне любая функция, которая не изменяет входные данные и не зависит от внешнего состояния (например, база данных, DOM или глобальная переменная) и последовательно обеспечивает один и тот же вывод для одного и того же ввода, является pure functions
const add = (a, b) => a + b //pure function
В React презентационный компонент или немой компонент - это компонент, который просто отображает HTML.Их единственная обязанность - представить что-то DOM. Эти компоненты часто являются просто функциями Javascript.У них нет внутреннего состояния для управления.Они не будут знать, как изменить данные, которые они представляют, если их спросят.Невежество - это блаженство.В приложении на базе Redux такие компоненты не взаимодействуют с хранилищем Redux.
Однако они принимают реквизиты от компонента контейнера ( интеллектуальных компонентов).Компоненты на основе классов, которые имеют свое собственное состояние, определенное в их функциях constructor ()
class App extends Component {
constructor(props){
super(props);
this.state = {pictures : []};
}
}
Поскольку контейнерные компоненты несут бремя интеллектуальности, именно они отслеживают состояние и заботятся о том, как приложениеработает.Они также определяют данные и поведение , которые должны отображать компоненты представления, передавая их им в качестве реквизита. Если у компонента представления есть какая-либо интерактивность - как у кнопки - он вызывает функцию prop, данную емуконтейнерный компонент.Но компонент контейнера - это тот, который отправляет действие в хранилище Redux.