@ — это JavaScript-декоратор, фишка языка, которая позволяет аннотировать и модифицировать классы на этапе разработки. Декораторы дают более чистый и декларативный способ оборачивать компоненты функциями высшего порядка.
Декоратор @connect нужен, чтобы подключить твой React-компонент к Redux-хранилищу, обернув его функцией высшего порядка connect(). Этот декоратор:
Без декоратора:
export default connect(mapStateToProps, mapDispatchToProps)(MyApp)
С декоратором:
@connect(mapStateToProps, mapDispatchToProps)
export default class MyApp extends React.Component { }
Оба подхода дают одинаковый результат; синтаксис с декоратором просто лаконичнее и читабельнее.
mapStateToProps и mapDispatchToProps к твоему компоненту@ — это синтаксический сахар, который избавляет от вложенных вызовов функций, делая подключение компонентов к Redux более понятным и удобным в поддержке.
Babel должен быть явно настроен с поддержкой декораторов, чтобы использовать синтаксис декоратора @connect в React-приложении.
Новый — ещё не проверен сообществом
Вы