Redux основан на нескольких ключевых концепциях, которые обеспечивают единообразное и предсказуемое управление состоянием приложения. Некоторые из этих концепций включают:
- Хранилище (
Store
) - это объект, который содержит текущее состояние приложения. Хранилище является единственным источником правды в Redux, и оно управляет изменениями состояния. - Действия (
Actions
) - это объекты, которые описывают намерения пользователя или другие события в приложении. Действия создаются и передаются в хранилище, где они вызывают изменения состояния. - Редюсеры (
Reducers
) - это чистые функции, которые обновляют состояние приложения в ответ на действия. Редюсеры принимают текущее состояние и действие, и возвращают новое состояние. - Однонаправленный поток данных - это концепция, которая гарантирует, что данные перемещаются только в одном направлении в приложении. Действия передаются в хранилище, где они вызывают обновление состояния. Затем новое состояние передается в представление, где оно отображается.
- Неизменяемость - это концепция, которая гарантирует, что состояние приложения не может быть изменено напрямую. Вместо этого, каждый раз, когда нужно обновить состояние, создается новый объект состояния, основанный на текущем состоянии и изменениях.
- Middleware - это функции, которые могут изменять поведение хранилища в ответ на действия. Middleware может использоваться для обработки асинхронных действий, логирования или других задач.
- Селекторы (Selectors) - это функции, которые извлекают данные из состояния приложения. Селекторы позволяют избежать прямого доступа к состоянию из компонентов и обеспечивают более гибкую и масштабируемую структуру приложения.